我在以选择器[name^="value"]开头的JQuery属性中遇到问题。以下是我正在尝试做的

var parentContainer = $('#myparent');
$.each(parentContainer.find('*[name^="a[2].b[0].c"]'), function(){
 alert('Hi');
});


尽管parentContainer具有以a[2].b[0].c开头的名称的元素,但仍无法警告“ Hi”。

但是当我尝试如下所述时它有效

var parentContainer = $('#myparent');
$.each(parentContainer.find('*[name^="a[2].b"]'), function(){
 alert('Hi');
});


需要您的帮助。提前致谢

最佳答案

查看对此question的响应。

以下引用可能显示您的问题的原因:


ID和NAME令牌必须以字母([A-Za-z])开头,后跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _”) ,冒号(“:”)和句点(“。”)。


方括号不是name(或id)属性值的有效字符,尽管它通常仍然可以使用,但在某些浏览器中可能会得到意想不到的结果。

This fiddle在Firefox(仅尝试使用版本4),Safari 4和5,Chrome 12,IE8和IE9中对我来说运行良好,但在IE6和IE7中失败(警告undefined)。

07-24 18:24