【发布时间】:2014-08-01 15:13:20
【问题描述】:
我有一个包含以下 HTML 的 jQuery 对象。看起来像这样。
var myObject = $('<div><a href="#">Link A</a></div><a href="#">Link B</a>.');
我想像这样使用 .each() 修改其中的所有 <a> 标签:
myObject.find('a').each(function () {
$(this).text( "Modified Link Text" );
});
我希望最终结果是链接 A 和链接 B 修改了它们的文本。不幸的是,如果我理解正确, .find() 只会查看顶级元素的后代。链接 A 嵌套在 <div> 标记中,因此可以正常工作。但是链接 B 不是,因此被跳过了。
我是否可以同时定位链接 A 和链接 B 而无需使用 .find() 和 .filter() 重复我的代码?
【问题讨论】:
-
你看过
.addBack()吗? (api.jquery.com/addback) -
不能同时使用,但是您可以一个接一个地使用它们和/或一起使用。
-
另外,您可能对此感兴趣:stackoverflow.com/questions/2828019/…
-
@CaseyFalk .addBack('a') 立即生效。谢谢你。其他人建议将其包装在标签中,然后使用 .find()。我想知道一个是否比另一个更有效。
标签: jquery