使用 filter() 根据 parents 过滤 jquery
Using filter() to filter jquery based on parents
我在 jquery 文档中看到我可以使用 .parent() 根据 parent 过滤我匹配的元素。但是在这个过程中,我最终得到的结果是parent个元素的集合,而不是原来的元素集合。所以我看到我可以使用过滤器来实现我想要的。但是我发现很少有关于如何使用过滤器根据 parent.
进行过滤的文档
比如我的html是:
<div id="social">
<a href="www.facebook.com">Facebook</a><br/>
<a href="www.twitter.com">Twitter</a><br/>
</div>
<div id="topsites">
<a href="www.facebook.com">Facebook</a><br/>
<a href="whosebug.com">Stack Overflow</a><br/>
</div>
我想获取一组元素,其中包含 <a>
标签,在其 href
属性中具有 facebook
,但在 social
div parents.
我怀疑代码会是这样的:
$('a[href*="facebook"]').filter( ... ).click(function() {
});
但我完全不知道在过滤器上放什么。 "parent#social"
?
另一种表达方式是使用过滤函数。
$('a[href*="facebook"]').filter(function(index) {
return ...
}
.click(function() {
});
我也不知道要在...上输入什么代码。是像 this.parent.id == "social"
吗?如果可能的话,我更喜欢第一种形式,但如果只能通过使用第二种形式(过滤函数)来解决问题,那也可以。非常感谢。
I want to get a set of elements, which consist of <a>
tag that has facebook in it's href
attribute, but within the social
div parents.
这里不需要filter
,
$('#social a[href*="facebook"]')
会的。
.parent()
不是过滤,是遍历。它需要一个 jQuery object,列出一个数组(大小为 [0, n) ),并生成一个新的 jQuery object 每个元素的 parent .
获取 jQuery object 和您要查找的列表要简单得多...
CSS jQuery 所基于的选择器(具有各种扩展)本质上是分层的。这意味着从某些 parent(s) 中选择特定的 children 非常简单。用于选择所需元素的 CSS 选择器是:
#social a[href*="facebook"]
如果你在 jQuery 构造函数中使用它,你会得到 object:
$('#social a[href*="facebook"]')
我在 jquery 文档中看到我可以使用 .parent() 根据 parent 过滤我匹配的元素。但是在这个过程中,我最终得到的结果是parent个元素的集合,而不是原来的元素集合。所以我看到我可以使用过滤器来实现我想要的。但是我发现很少有关于如何使用过滤器根据 parent.
进行过滤的文档比如我的html是:
<div id="social">
<a href="www.facebook.com">Facebook</a><br/>
<a href="www.twitter.com">Twitter</a><br/>
</div>
<div id="topsites">
<a href="www.facebook.com">Facebook</a><br/>
<a href="whosebug.com">Stack Overflow</a><br/>
</div>
我想获取一组元素,其中包含 <a>
标签,在其 href
属性中具有 facebook
,但在 social
div parents.
我怀疑代码会是这样的:
$('a[href*="facebook"]').filter( ... ).click(function() {
});
但我完全不知道在过滤器上放什么。 "parent#social"
?
另一种表达方式是使用过滤函数。
$('a[href*="facebook"]').filter(function(index) {
return ...
}
.click(function() {
});
我也不知道要在...上输入什么代码。是像 this.parent.id == "social"
吗?如果可能的话,我更喜欢第一种形式,但如果只能通过使用第二种形式(过滤函数)来解决问题,那也可以。非常感谢。
I want to get a set of elements, which consist of
<a>
tag that has facebook in it'shref
attribute, but within thesocial
div parents.
这里不需要filter
,
$('#social a[href*="facebook"]')
会的。
.parent()
不是过滤,是遍历。它需要一个 jQuery object,列出一个数组(大小为 [0, n) ),并生成一个新的 jQuery object 每个元素的 parent .
获取 jQuery object 和您要查找的列表要简单得多...
CSS jQuery 所基于的选择器(具有各种扩展)本质上是分层的。这意味着从某些 parent(s) 中选择特定的 children 非常简单。用于选择所需元素的 CSS 选择器是:
#social a[href*="facebook"]
如果你在 jQuery 构造函数中使用它,你会得到 object:
$('#social a[href*="facebook"]')