我试图将li
元素的高度设置为其父亲的div
。每个li:first-child
根据其内容具有不同的高度。到目前为止我所拥有的是:
HTML
<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
jQuery.each(jQuery('.someli:first-child'), function() {
var height = jQuery(this).height();
alert(height);
jQuery(this).parent().parent().parent().find('.somediv' ).height(height);
});
以上功能会正确提醒每个li:first-child
的高度,但仅将第二个li:first-child
的高度设置为所有.somediv
div。如何强制该功能仅将每个li:first-child
的高度应用于该特定li
的父级?
答案 0 :(得分:2)
通过.each()
方法的第二次迭代,您将找到两个.somediv
元素并将第二个li:first-child
的高度设置为所有元素。你需要使用.closest()
jQuery.each(jQuery('.someli:first-child'), function() {
var height = jQuery(this).height();
alert(height);
jQuery(this).closest('.somediv' ).height(height);
});
此选择器jQuery(this).parent().parent().parent()
找到两个.somediv
元素的父级,并使用.find()
选择它们