我在以选择器[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
)。