2014-09-23 26 views
1

我使用。新增()建立一组的jQuery的对象: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的元素?

回答

5

find只能找到后裔,根元素使用filter

$set.filter('#a') 

加入他们的行列,并找到两个后代和根元素,你可以添加元素为共同的父,但你已经知道,因为这是你在小提琴中做什么

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'); 
 
}
<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>