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