日期:2014-05-16  浏览次数:20388 次

js传参问题
有一个js函数
function viewFace()
{
var sbtitle=document.getElementById("faceContainer35");
if(sbtitle){
sbtitle.style.display='block';
}
}
调用:
 <img id='imgface' src='img/face.jpg' alt='选择表情' style='margin-left:10px;margin-top:3px;margin-bottom:3px;'onclick='viewFace()' />
这样写可以正常执行~
但是我用传参的方式~将方法改变一下~:
function viewFace(obj)
{
var sbtitle=document.getElementById(obj);
if(sbtitle){
sbtitle.style.display='block';
}
}
调用:
 <img id='imgface' src='img/face.jpg' alt='选择表情' style='margin-left:10px;margin-top:3px;margin-bottom:3px;'onclick='viewFace(faceContainer35)' />

将方法改变为传参的方式之后,getElementById(obj)就不能找到了`
是什么原因?
望高手指点`


------解决方案--------------------
onclick='viewFace(faceContainer35)'改成'onclick="viewFace('faceContainer35')"看看。
------解决方案--------------------
楼上的,最好用双引包着单引好点吧
------解决方案--------------------
onclick='viewFace(faceContainer35)'改成'onclick='viewFace("faceContainer35")'

------解决方案--------------------
1楼正解
------解决方案--------------------
同意1楼的,没有引号就当成变量了
------解决方案--------------------
1楼正解,没有‘’就相当于传未定义的变量

------解决方案--------------------
探讨
onclick='viewFace(faceContainer35)'改成'onclick='viewFace("faceContainer35")'

------解决方案--------------------
我觉得用""要好一点