使用.map()的版本的jQuery不兼容

时间:2013-05-29 01:16:04

标签: jquery

此代码返回1,2,但它仅适用于JQ版本1.7.2,以前的版本和最新的1.10产生错误....

为什么?

这是否意味着如果我使用.map()函数,我以后无法升级?

<input type="checkbox" name="example[]" value="1" checked/>
<input type="checkbox" name="example[]" value="2" checked/>
<input type="checkbox" name="example[]" value="3" />

alert ($('input[name=example[]]:checked').map(function(){return this.value;}).get().join(','));

这是一个临时错误吗?

1 个答案:

答案 0 :(得分:2)

您需要转义[],因为它们是选择器中使用的保留字符。在选择器中使用时,id,name等中的外观应该双重反斜。

alert( $('input[name=example\\[\\]]:checked').map(function(){return this.value;}).get().join(','));

Demo

来自Docs

  

使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^`{|}〜)作为文字作为名称的一部分,必须使用两个反斜杠进行转义:\。