如何在jquery中找到内部元素的高度?

时间:2013-03-05 11:27:34

标签: jquery sharepoint-2010

html结构是:

<table class='cls_Name'>
    <tr>
        <td>Name</td>
    </tr>
    <tr>
        <td>
            <div>some operation/text</div>
        </td>
    </tr>
</table>

要获得表格的高度我正在做如下:

$('.cls_Name').height();

返回正确的值。

现在我想要div的高度:

$('.cls_Name').children('td:nth-child(2)').children('div').height();

但它返回Null或有时也会出错。

如果有人有这个想法,请告诉我。

提前致谢

5 个答案:

答案 0 :(得分:5)

<td>元素是<table>元素的后代,但不是子元素。 .children()函数仅在DOM中的单个级别下降 - 因此,在这种情况下,到<tr>元素的级别。请尝试以下方法:

$('.cls_Name').find('td:eq(1)').children('div').height();

答案 1 :(得分:2)

尝试以下方法:

$('.cls_Name td:eq(1)').find('div').height();

答案 2 :(得分:0)

由于.children('td:nth-child(2)')不存在,请尝试使用.children('td:nth-child(1)')

经过测试的代码

<script type="text/javascript">

    $(function()
    {
        console.log($('.cls_Name').find('td:nth-child(1)').find('div').height());
    });

</script>
<table class='cls_Name'>
    <tr>
        <td>Name</td>
    </tr>
    <tr>
        <td>
            <div>some operation/text</div>
        </td>
    </tr>
</table>

20;

中向我展示了console.log()

答案 3 :(得分:0)

最好你可以为div元素指定类名并试试这个:

<table class='cls_Name'>
    <tr>
        <td>Name</td>
    </tr>
    <tr>
        <td>
            <div class="operation">some operation/text</div>
        </td>
    </tr>
</table>

脚本:

$('.operation').height()

答案 4 :(得分:0)

我想这会更好:

$(document).ready(function ()
{
    var sa = $('.cls_Name').find('div').height();
    alert(sa);


 });