Jquery 找到每个特定元素的高度并将其设置为';父母

Jquery 找到每个特定元素的高度并将其设置为';父母,jquery,html,find,parent,Jquery,Html,Find,Parent,我试图将li元素的高度设置为其父元素的父元素div。每个li:first child根据其内容具有不同的高度。到目前为止,我得到的是: HTML 上述功能正确地警告每个li:first child的高度,但仅将第二个li:first child的高度设置为所有.somedivdivs。如何强制该函数将每个li:first child的高度仅应用于该特定li的父级?使用方法的第二次迭代。each()方法,您将找到这两个.somediv元素,并将第二个li:first child的高度设置为所有元素

我试图将
li
元素的高度设置为其父元素的父元素
div
。每个
li:first child
根据其内容具有不同的高度。到目前为止,我得到的是:

HTML


上述功能正确地警告每个
li:first child
的高度,但仅将第二个
li:first child
的高度设置为所有
.somediv
divs。如何强制该函数将每个
li:first child
的高度仅应用于该特定
li
的父级?

使用
方法的第二次迭代。each()
方法,您将找到这两个
.somediv
元素,并将第二个
li:first child
的高度设置为所有元素。您需要使用
.closest()


这个选择器
jQuery(This).parent().parent().parent()
查找两个
.somediv
元素的父元素,并使用
.find()
您选择了这两个元素

有趣的是,在这里发布问题之前,我尝试使用
.closest
,结果总是很奇怪。但现在它起作用了。感谢您解释这两种方法之间的区别。干杯
<div class="somediv">
<ul>
<li class="someli">some content</li>
<li class="someli"></li>
<li class="someli"></li>
</ul>
</div>
<div class="somediv">
<ul>
<li class="someli">some other content</li>
<li class="someli"></li>
<li class="someli"></li>
</ul>
</div>
jQuery.each(jQuery('.someli:first-child'), function() {
var height = jQuery(this).height();
alert(height);
jQuery(this).parent().parent().parent().find('.somediv' ).height(height);
});
jQuery.each(jQuery('.someli:first-child'), function() {
var height = jQuery(this).height();
alert(height);
jQuery(this).closest('.somediv' ).height(height);
});