gpt4 book ai didi

jquery - 我可以同时使用 .find() 和 .filter() 吗?

转载 作者:行者123 更新时间:2023-12-01 02:20:07 26 4
gpt4 key购买 nike

我有一个包含以下 HTML 的 jQuery 对象。看起来像这样。

var myObject = $('<div><a href="#">Link A</a></div><a href="#">Link B</a>.');

我要修改全部<a>使用 .each() 来标记它,如下所示:

myObject.find('a').each(function () {
$(this).text( "Modified Link Text" );
});

我希望最终结果是链接 A 和链接 B 的文本被修改。不幸的是,如果我正确理解这一点,.find() 将只查看顶级元素的后代。链接 A 嵌套在 <div> 中标签,这样就可以工作了。但链接 B 不是,因此被跳过。

我是否可以同时定位链接 A 和链接 B,而无需使用 .find() 和 .filter() 重复我的代码?

这是我制作的代码笔:http://codepen.io/jimmykup/pen/DKgJn?editors=101

最佳答案

这里有 3 条建议。你可以

A) 创建一个 DOM 节点并在其中找到您的元素:

var myObject = $('<div><a href="#">Link A</a></div><a href="#">Link B</a>.');

$('<div>').append(myObject).find('a').each(function () {
$(this).text( "Modified Link Text" );
});

B) 将 addBack() 与选择器一起使用:

myObject.find('a').addBack('a').each(function () {
$(this).text( "Modified Link Text" );
});

C) 直接用.add()添加过滤后的元素

myObject.find('a').add(myObject.filter('a')).each(function () {
$(this).text( "Modified Link Text" );
});

注意:如果只更改文本,则循环是无用的。

关于jquery - 我可以同时使用 .find() 和 .filter() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25083330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com