根据jquery对象数组中的属性查找元素

时间:2015-10-26 12:56:27

标签: jquery jquery-selectors

我有一个带有三个div的HTML dom:

<div data-tab="1">
</div>
<div data-tab="2">
</div>
<div data-tab="3">
</div>

然后我在这样的jQuery对象中收集所有这些div:

var $tabs = jQuery( '*[data-tab]' );

所以现在,$ tabs包含所有三个。那很棒。但是,我正在尝试更改其中一个,所以我尝试使用find()来查找我想要更改的对象,但不知何故,我无法使用find()在$ tabs中找到任何对象。

示例:

$tabs.find( '*[data-tab="2"]' ); simply returns []

为什么这不起作用,甚至更好,哪些有效? :P

2 个答案:

答案 0 :(得分:2)

您需要使用.filter()功能代替.find()

$tabs.filter('[data-tab=2]')

答案 1 :(得分:0)

window.$tabs = jQuery('*[data-tab]');
var $filteredtabs = $tabs.filter('[data-tab=2]')
console.log($filteredtabs)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-tab="1">
</div>
<div data-tab="2">
</div>
<div data-tab="3">
</div>

演示:http://jsfiddle.net/kishoresahas/9nxzttjp/