在动态THML语句中调用JS函数传递带空格参数的问题

刚刚遇到一个问题,调用js函数的参数里带空格,造成调用失败的问题。
 
部分代码如下:
html+="<div><a href=javascript:confirm("+id+", '"+name+"');>"; //name中如果有空格就是调用失败
html+="</a></div>";
 
在网上查了一下,发现是因为href写的不规范,加上双引号就可以了。
但是,因为<a>被包含在一个动态html中,使用 \" 或是转义字符 &quot; 都不成功。
 
后来,在html上改成单引号,在标签上使用双引号,并使用转义字符,就可以顺利运行了。
 
最后是这个样子的:
html+='<div><a href="javascript:confirm('+id+',&apos;'+name+'&apos;);">';
html+='</a></div>';
 
 
注,HTML常用的转义字符:
单引号:&apos;
双引号:&quot;
空格:&nbsp;
小于号(<):&lt;
大于号(>):&gt;
与号(&):&amp;
版权号(©):&copy;
 
 
参考:
1)JS函数如何传递带空格参数
 
2)关于js中单引号(')和双引号(")的使用以及转义的理解
 

posted @ 2017-12-04 18:47  中年程序员  阅读(2286)  评论(0编辑  收藏  举报