我遇到了以选择器 [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 and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
方括号对于 name
(或 id
)属性值来说不是有效字符,虽然它通常仍然有效,但您可能会在某些浏览器中得到意外结果。
This fiddle我在 Firefox(仅尝试了版本 4)、Safari 4 和 5、Chrome 12、IE8 和 IE9 中工作正常,但在 IE6 和 IE7 中失败(未定义
被警告)。
关于JQuery 属性以选择器问题开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346415/