在以下结构中
<div class="thisNot">
<table style="width:100%" class="thisOneUknow">
<tr>
<th id="imhere">Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
</div>
如果我在$(&#39;#imhere&#39;)上,如何找到与班级最近的父级并提取该值?在这种情况下得到thisOne(总是认为我站在那里)
编辑:类thisOneOknown是自动生成的,因此每次Page Load都会更改,因此选择器能够找到带有类的第一个父级并存储/返回它。 Somethinng喜欢 var nearestParentClass = $(&#39; #imhere&#39;)。最近(&#34;:hasParent()&#34;);
答案 0 :(得分:3)
$('#imhere').closest('.thisOne');
修改后的问题更新:
我害怕我不明白你现在要问的是什么,不过我会猜一猜。以下内容应该允许您测试每个父级到DOM根目录:
var element = $($('.lobster')[6]);
while((element = element.parent()).length){
if(element.is('table')){
break;
}
}
// element variable contains the matched DOM element
答案 1 :(得分:1)
你可以使用过滤方法,试试我为你准备的这个例子。我希望能帮助你。
$(function() {
var tt= finder('.thisOne','#imhere');
$('.result').append('<div>data found:'+tt.length+'</div>');
// some unknow class
var ss= finder('.thisOne','#imNothere');
$('.result').append('<div>data found:'+ss.length+'</div>');
});
function finder(searchMe, checkMe){
return $(searchMe).filter(function(index) {
return $(this).find(checkMe).length > 0;
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="thisNot">
<table style="width:100%" class="thisOne">
<tr>
<th id="imhere">Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
</div>
<div class="result"></div>