jquery 方法传参有空格时,传参错误

1、在jquery中动态拼接html代码时

在html上改成单引号,在标签上使用双引号,并使用转义字符,就可以顺利运行了。

最后是这个样子的:

html+='<div><a href="javascript:confirm('+id+',&apos;'+name+'&apos;);">';
html+='</a></div>';
注,HTML常用的转义字符:
单引号:&apos;
双引号:&quot;
空格:&nbsp;
小于号(<):&lt;
大于号(>):&gt;
与号(&):&amp;
版权号(©):&copy;

2、在html中的方法

方法一:<input οnclick=addToMainPush(‘123’, ‘Test 234’, ‘5’) > 此时第二个参数无法正常传输。
<input οnclick="addToMainPush(‘123’, ‘Test 234’, ‘5’) "> 此时正常传输。

方法二:先将可能带空格的参数用escape函数处理一下,然后在somefunction中用unescape函数解码就行了。注意用encodeURI、decodeURI加解码却不能成功

   escape和unescape、encodeURI和decodeURI、encodeURIComponent和decodeURIComponent三对组合之间的区别:

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,’,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

   简单总结一下用法,在不经过URL的时候,即纯Javascript调用用escape;
   涉及URL时,通常用encodeURI对整个URL进行处理,仅当URL中含有特殊参数时,对该特殊参数局部使用encodeURIComponent。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值