1

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 或有时也会出错。

请让我知道是否有人对此有想法。

提前致谢

4

5 回答 5

5

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

$('.cls_Name').find('td:eq(1)').children('div').height();
于 2013-03-05T11:30:08.453 回答
2

尝试以下操作:

$('.cls_Name td:eq(1)').find('div').height();
于 2013-03-05T11:29:39.930 回答
0

Better you can specify class name for div element and try this:

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

Script:

$('.operation').height()
于 2013-03-05T11:36:05.050 回答
0

This would be the better i guess :

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


 });
于 2013-03-05T11:38:29.703 回答
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>

给我看20console.log()

于 2013-03-05T11:31:16.877 回答