在JS里面写事件属性为什么不能传递字符串
我不知道如何问问题了,直接上代码functionShow(Type){alert(Type)}functionPicture(Type){for(i=1;i<=10;i+...
我不知道如何问问题了,直接上代码
function Show(Type)
{
alert(Type)
}
function Picture(Type)
{
for (i=1;i<=10;i++)
{
document.write ("<img src='Plus.PNG' style='cursor:hand' onclick='Show("+Type+");' >")
}
}
我给调用函数Picture("qasd")
然后点击图片,触发事件
按道理应该会输出提示框,然后提示我“qasd”才对
可我得到的结果却是空值
求解,是不是我的引号用错了,如果是该怎么弄? 展开
function Show(Type)
{
alert(Type)
}
function Picture(Type)
{
for (i=1;i<=10;i++)
{
document.write ("<img src='Plus.PNG' style='cursor:hand' onclick='Show("+Type+");' >")
}
}
我给调用函数Picture("qasd")
然后点击图片,触发事件
按道理应该会输出提示框,然后提示我“qasd”才对
可我得到的结果却是空值
求解,是不是我的引号用错了,如果是该怎么弄? 展开
1个回答
展开全部
将下面这行
document.write ("<img src='Plus.PNG' style='cursor:hand' onclick='Show("+Type+");' >")
改为
document.write('<img src="Plus.PNG" style="cursor:hand" onclick="Show(\''+Type+'\');" >');
因为你要确保生成的调用代码是
Show('qasd');
而不是
Show(qasd);
前者是字符串,后则则被解释为变量名.
document.write ("<img src='Plus.PNG' style='cursor:hand' onclick='Show("+Type+");' >")
改为
document.write('<img src="Plus.PNG" style="cursor:hand" onclick="Show(\''+Type+'\');" >');
因为你要确保生成的调用代码是
Show('qasd');
而不是
Show(qasd);
前者是字符串,后则则被解释为变量名.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询