jquery v1.3.2按属性查找元素

时间:2009-03-30 12:20:22

标签: jquery

我需要查找并遍历具有特定属性的所有子元素。以下代码在jquery 1.2.6中运行良好,但在1.3.2中抛出异常

$(parentElement).find('*[@someAttributeName]').each(function(index){
    doSomething(this);
});

实现这一目标的正确方法是什么?

5 个答案:

答案 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)

在jQuery 1.3中不推荐使用

[@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