gpt4 book ai didi

javascript - 有没有办法使用 `in` 运算符排除某些元素?

转载 作者:行者123 更新时间:2023-11-28 14:09:03 24 4
gpt4 key购买 nike

我想知道是否有可能找出是否有 <p>标签位于 <header> 内或<footer>页面上的标签使用如下内容:

$("p").each(function() {
if (!($(this) in $("footer") || $(this) in $("header")) {
// logic
}
});

我的目标是选择<p> 不在 <header> 内的标签或<footer>

最佳答案

首先,不要使用in来枚举jQuery对象。对象中还有其他属性和方法会干扰。

如果您想查找不在给定容器中的p元素,您可以使用filter():

var $p = $('p').filter(function() {
return $(this).closest('header, footer').length === 0;
});

但是,如果在您的情况下可能的话,更简单的方法是构建 HTML,以便您想要定位的所有 p 元素都位于一个公共(public)容器中。那么你的代码就会变得更加简单,例如:

<header>
<p>Header p</p>
</header>
<main>
<p>Main p</p>
</main>
<footer>
<p>Footer p</p>
</footer>
var $p = $('main p');

关于javascript - 有没有办法使用 `in` 运算符排除某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60230581/

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