我有一个带有三个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
答案 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>