获得父div的高度

时间:2014-05-06 11:27:09

标签: jquery

  <div class='contain'>
     <a href="#">
        <div id="s1" class="sub" onclick="hello('1')">dasdad</div>
     </a>
  </div>
 <div class='contain'>
     <a href="#">
        <div id="s2" class="sub" onclick="hello('2')">dasdad</div>
     </a>
  </div>

从上面我怎样才能在jquery中点击div sub时得到父包含div的高度。

尝试使用$('#s1').parent().height();

CSS

   .contain{margin:auto;width:auto; height:auto;}
   .sub{width:160px;min-height: 173px;}

4 个答案:

答案 0 :(得分:4)

使用.closest()只使用父级只会获得<a>元素的一级,因此您必须使用parent()两次或使用nearest()

$('#s1').closest('.contain').height();

DEMO

答案 1 :(得分:0)

使用

$('.sub').closest('.contain').height();

使用此JS

$('.sub').click(function(e){
    alert($(this).closest('.contain').height())
});

答案 2 :(得分:0)

你有锚作为#s1的父母。所以你需要使用parent().parent()

尝试这样:

$('#s1').parent().parent('div.contain').height();

如果你想使用类选择器,那么尝试这样:

$('.sub').parent().parent('div.contain').height();

fiddle demo using id demo using class

答案 3 :(得分:0)

虽然我同意Anton的原始答案,

我认为结合原始代码的更完整示例将是有益的。

以下是演示http://jsfiddle.net/AjqJr/2/

Javascript:

$(document).ready(function () {
    window.hello = function (someNumber) {
        // Do something here
        console.log(someNumber);
    }

    $('.sub').on('click', function () {
        alert($(this).closest('.contain').height());
    });
});