我的一些 HTML 输入的名称包含多个方括号。
例如
<input name="skus[0].skuattributeoptions[1].sao_option_id" value="559" />
我已经读过,只要将值括在引号中,您就可以使用方括号的属性值。这很好,但是,当我在包含具有上述名称的元素的 jquery 对象上使用 .filter() 时,不会返回任何元素。
下面是 Chrome 控制台输出的屏幕截图,说明了我的意思。
inputs = $('[name="skus[0].skuattributeoptions[1].sao_option_id"]')
按预期返回三个元素。
但是当我inputs.filter('[name="skus[0].skuattributeoptions[1].sao_option_id"]')
在同一堆元素上使用时,我什么也没得到。
请注意,当传递给 .filter() 的选择器只有一组方括号时,例如inputs.filter('[name*="skuattributeoptions[1].sao_option_id"]')
过滤器返回我所期望的!
我正在使用 jQuery 1.5.1。难道我做错了什么?
http://www.photogifts.co.uk/content/images/affiliate/example/jquery-filter-issue.png