我有一个包含多个ul
列表的网页。每个ul
列表都被div
包围,类.content
。
我想要做的是,.content DIV
的高度在点击li
内的相应ul
时显示。
我的分钟代码只设置页面上第一个content DIV
的高度。
HTML:
<ul class="myList">
<li>
<div class="heading">
<a>Menu 1</a>
</div>
<div class="content">
<h2>Menu 1</h2>
<ul class="show-hide">
<li>
<a href="">How to reach us</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">How to email us</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">Contact Number</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
</ul>
</div>
</li>
<li>
<div class="heading">
<a>Menu 2</a>
</div>
<div class="content">
<h2>Menu 2</h2>
<ul class="show-hide">
<li>
<a href="">How to reach us</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
</ul>
</div>
</li>
<li>
<div class="heading">
<a>Menu 3</a>
</div>
<div class="content">
<h2>Menu 3</h2>
<ul class="show-hide">
<li>
<a href="">How to reach us</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">How to email us</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">Contact Number</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">How to email us</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">Contact Number</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
</ul>
</div>
</li>
</ul>
jQuery的:
$('.show-hide').on('click', function () {
getHeight = $('.content').height();
alert(getHeight);
return false;
});
我的小提琴:http://jsfiddle.net/oampz/BK7yw/
任何帮助表示赞赏
答案 0 :(得分:2)
使用parents()
或parent()
$('.show-hide').on('click', function () {
getHeight = $(this).parents('.content').height();
alert(getHeight);
return false;
});
答案 1 :(得分:2)
尝试将jQuery#closest()
用作:$(this).closest('.content').height()
;
<强> JsFiddle Link 强>
答案 2 :(得分:1)
您刚刚选择了类名为content
的所有元素。但您的要求是在单击元素的上下文中选择具有类content
的元素。所以你必须首先选择$(this)
引用,然后尝试使用.closest()
找到与提供的选择器最接近的元素,
$('.show-hide').on('click', function () {
getHeight = $(this).closest('.content').height();
alert(getHeight);
return false;
});
答案 3 :(得分:1)
使用 .parents() api https://api.jquery.com/parents/
getHeight = $(this).parents('.content').height();