我需要查找并遍历具有特定属性的所有子元素。以下代码在jquery 1.2.6中运行良好,但在1.3.2中抛出异常
$(parentElement).find('*[@someAttributeName]').each(function(index){
doSomething(this);
});
实现这一目标的正确方法是什么?
答案 0 :(得分:40)
我相信,摆脱@,
$(parentElement).find('[someAttributeName]').each(function(index){
doSomething(this);
});
来自jQuery selector文档:
注意:在jQuery 1.3 [@attr]样式中 选择器被删除(他们是 以前在jQuery 1.2中弃用的)。 只需删除您的“@”符号即可 选择器,以使它们工作 试。
答案 1 :(得分:2)
注意从版本1.2开始不推荐使用属性名称之前的“@”。
$(parentElement).find('*[someAttributeName]').each(function(index){
doSomething(this);
});
只需删除它就可以了。
答案 2 :(得分:2)
[@attribute]
表示法。移除@
标志即可开始使用。
答案 3 :(得分:1)
我认为这是找到并改变其中某些内容的最佳方式
$('.youritem').each(function(){
if($(this).attr('title') == 'add image')
$(this).attr('id','imageuploader');
});
答案 4 :(得分:0)
当我想在required=""
找到输入时,在IE中不起作用。
当我改为required="required"
时工作。也许其他组合也有效https://stackoverflow.com/a/3012975/588759