【发布时间】:2010-10-16 08:49:05
【问题描述】:
我需要查找并遍历所有具有特定属性的子元素。以下代码在 jquery 1.2.6 中运行良好,但在 1.3.2 中抛出异常
$(parentElement).find('*[@someAttributeName]').each(function(index){
doSomething(this);
});
实现这一目标的正确方法是什么?
【问题讨论】:
标签: jquery
我需要查找并遍历所有具有特定属性的子元素。以下代码在 jquery 1.2.6 中运行良好,但在 1.3.2 中抛出异常
$(parentElement).find('*[@someAttributeName]').each(function(index){
doSomething(this);
});
实现这一目标的正确方法是什么?
【问题讨论】:
标签: jquery
我相信,只要去掉@。
$(parentElement).find('[someAttributeName]').each(function(index){
doSomething(this);
});
来自 jQuery selector 文档:
注意:在 jQuery 1.3 [@attr] 样式中 选择器被删除(它们是 以前在 jQuery 1.2 中已弃用)。 只需从您的 选择器以使它们工作 再次。
【讨论】:
$('div[someAttributeName]').each()按属性查找
我认为这是找到并可以改变它的最好方法
$('.youritem').each(function(){
if($(this).attr('title') == 'add image')
$(this).attr('id','imageuploader');
});
【讨论】:
当我想使用 required="" 查找输入时,在 IE 中对我不起作用。
当我更改为 required="required" 时有效。也许其他组合也可以https://stackoverflow.com/a/3012975/588759
【讨论】:
[@attribute] 表示法在 jQuery 1.3 中已弃用。删除@ 符号,您就可以开始了。
【讨论】:
注意属性名称之前的“@”在 1.2 版中已被弃用。
$(parentElement).find('*[someAttributeName]').each(function(index){
doSomething(this);
});
只需将其删除即可。
【讨论】: