JQuery属性以选择器问题开始

Man*_*ish 3 jquery jquery-selectors

我有一个问题,JQuery属性从选择器开始[name^="value"].以下是我想要做的

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

尽管parentContainer具有名称的元素,a[2].b[0].c但仍无法提示"Hi".

但是,当我尝试按照下面提到的那样工作时

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

需要你的帮助.提前致谢

Jam*_*ice 6

看看这个问题的回答.

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

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

方括号不是name(或id)属性值的有效字符,虽然它通常仍然有效,但在某些浏览器中可能会出现意外结果.

这个小提琴在我的Firefox(仅尝试过的版本4),Safari 4和5,Chrome 12,IE8和IE9中运行良好,但undefined在IE6和IE7中失败(被警告).