200分求解决一eval问题
<script language= "javascript ">
function test(obj)
{
alert(obj.id);
}
var obj = document.getElementById( "a ");
eval( "test( "+obj+ ") ");
</script>
<div id= "a "> test </div>
我想通过eval调用一个带参数(参数为一对象)的函数,代码如上所示, 在test()中获取到的obj为undefine, 如何才能在这里得到div对象?多谢!
------解决方案--------------------那是因为你的DIV还没有加载,脚本就执行了,因为没有找到该对象,所以提示undefined
你可以这样:
<div id= "a "> test </div>
<script language= "javascript ">
function test(obj)
{
alert(obj.id);
}
var obj = document.getElementById( "a ");
eval( "test( "+obj+ ") ");
</script>
------解决方案-------------------- <div id= "a "> test </div>
<script language= "javascript ">
function test(obj)
{
alert(obj.id);
}
var obj = document.getElementById( "a ");
eval( "test(obj) ");
</script>
------解决方案--------------------对象不能进行并运算...
------解决方案--------------------信誉还可以低到4这种地步。。还误导别人
应该是这样
<script language= "javascript ">
function test(obj)
{
alert(obj.id);
}
var obj = document.getElementById( "a ");
eval( "test(obj); ");
</script>
<div id= "a "> test </div>
注意,eval()执行的就是JS代码,不用再引用具体变量
------解决方案--------------------这年头...
------解决方案--------------------4个裤衩的提出这种问题。。。。。。
还这么多分。。。。。。
------解决方案-------------------- DIV还要先加载
<div id= "a "> test </div>
<script language= "javascript ">
function test(obj)
{
alert(obj.id);
}
var obj = document.getElementById( "a ");
eval( "test(obj); ");
</script>
------解决方案--------------------让大家失望了 - -!
------解决方案--------------------吃粽子
------解决方案--------------------4个裤衩的提出这种问题。。。。。。
还这么多分。。。。。。
---------------------------------------
不要这么说嘛,也许人家的裤衩是从别的地方捡来的呢
------解决方案--------------------把引号去掉试下eval(test(obj));
------解决方案--------------------如果引号去掉不行的话,那就是div还没生成,如果你把 <script> 这里面的代吗放在body中是不行的,页面加载先执行 <script> 的代码,而你的div还没生成,所以出现undefine
------解决方案--------------------直接test(obj)
------解决方案--------------------