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

Posted 中年程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在动态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中单引号(\')和双引号(")的使用以及转义的理解
 

以上是关于在动态THML语句中调用JS函数传递带空格参数的问题的主要内容,如果未能解决你的问题,请参考以下文章

参数传递:shell脚本调用一个带参数的python函数

Uncaught SyntaxError : Unexpected token ILLEGAL js传递带空格的参数

shell 自定义带参数函数

解决 js setTimeout 传递带参数的函数无效果

js调用一个带参数的函数,却不给参数,会怎么处理

使用 select 语句在表值函数中传递参数