0

此代码应返回 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(','));

这是一个临时错误吗?

4

1 回答 1

2

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

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

演示

来自文档

要使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为名称的文字部分,它必须用两个反斜杠转义:\。

于 2013-05-29T01:19:58.887 回答