我有一个div,我需要得到它的高度。它在div内部,里面有几个div。它们都在一个类似的div结构中。我做了一个js小提琴来说明我的问题以及到目前为止我所拥有的。 http://jsfiddle.net/K3dx5/
所以基本上我需要在单击链接(400px)时获得第一个div的高度,同样在第二个链接(200px)上。
<div class="wrapper"> <div class="one"> <!--I need to get the height of this div --> <div class="NotThisone"> <div class="No"> <a class="anchor">ONE</a> </div> </div> </div> <div class="two"> <!--I need to get the height of this div --> <div class="NotThistwo"> <div class="No"> <a class="anchor">TWO</a> </div> </div> </div>
谢谢
答案 0 :(得分:1)
我建议使用closest()
方法和选择器:
$('.anchor').click(function() {
var height = $(this).closest('.wrapper > div[class]').height();
console.log(height);
});
参考文献:
closest()
。答案 1 :(得分:0)
首先,使用
var x = $(this).closest('.one').height();
对于第二个,请使用
var x = $(this).closest('.two').height();
答案 2 :(得分:0)
你的选择器错了。
var x = $(this).parent().parent().parent().css('height');
有问题的div距离锚点有三个级别,所以你需要使用三个parent()方法。
或者您可以使用其他选择器。
答案 3 :(得分:0)
小提琴中的问题是你选择了中级父母,虽然同时你想要的div高出2级。将选择切换为此可以完成工作。
var x = $(this).parent().parent().parent().css('height');
这看起来有点混乱和不可靠(如果你改变你的html以在锚标记周围添加更多div,javascript将再次选择错误的div)所以如果你将一个公共类添加到你希望高度为div的div然后,您可以选择特定的父级。所以我说我将div“one”和“two”添加到名为“parentNeeded”的类中,然后可以使用以下语句
var x = $(this).parents(".parentNeeded").css('height');
你可以在这个小提琴中看到这一点 http://jsfiddle.net/K3dx5/5/