我使用.add()构建一组jQuery对象:
var $set= $([]);
$set = $set.add('<div id="a"></div>');
$set = $set.add('<div id="b"></div>');
$set = $set.add('<div id="c"></div>');
我需要能够获得此集合中的特定元素,但是,除非jQuery集具有某种层次结构,否则.find()将不起作用。
这是一个jsfiddle,说明我在说什么:http://jsfiddle.net/3uope6xv/
有没有办法在“平面”中获取jQuery元素?一组jQuery元素?
答案 0 :(得分:5)
答案 1 :(得分:3)
使用.filter()
代替.find()
。
var $parentless = $([]);
$parentless = $parentless.add('<div id="a"></div>');
$parentless = $parentless.add('<div id="b"></div>');
$parentless = $parentless.add('<div id="c"></div>');
if ( $parentless.filter('#a').length > 0 ) {
$('.parentless-box').text('found');
} else {
$('.parentless-box').text('not found');
}
var $parent = $('<div class="parent"></div>');
$parent.append('<div id="d"></div>');
$parent.append('<div id="e"></div>');
$parent.append('<div id="f"></div>');
if ( $parent.find('#d').length > 0 ) {
$('.parent-box').text('found');
} else {
$('.parent-box').text('not found');
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parentless-box"></div>
<div class="parent-box"></div>
&#13;