为什么我得到jQuery对象的子属性值而不是父道具值?

时间:2017-09-23 16:45:47

标签: javascript jquery html css

我想检查表格单元格中是否存在溢出,如果没有溢出,则删除禁用单元格中滚动的类。我希望通过比较 clientHeight & scrollHeight 属性。 如果我拨打 $(this),我会看到:

enter image description here 所以据我所知,我需要从数组的第一个元素中获取属性?但是当我打电话给 $(this)[" 0"]。clientHeight $(this).get(0)时,我会收到一个值儿童财产,而不是这个孩子所居住的div。我怎样才能获得

的属性
<div class="scrollable verticalCenterAligned">

我错过了什么?谢谢!

HTML:

            <td>
                <div class="scrollable verticalCenterAligned">
                    <div class="form-group">
                        @media.Selector
                    </div>
                </div>
            </td>
            <td>
                <div class="scrollable verticalCenterAligned">
                    @Html.DisplayFor(modelItem => media.MediaRSSURL)
                </div>
            </td>

JavaScript的:     

$('.scrollable').each(function() {
    console.log($(this));
    console.log($(this)["0"].clientHeight);
    console.log($(this)["0"].scrollHeight);
});

</script>

控制台的ScreenShot:

屏幕上的

您看到我获取了子节点属性的值,但没有获取该子节点所在的div。 enter image description here

1 个答案:

答案 0 :(得分:0)

我在另一个post

中找到了答案

将我的函数包装在 $(window).load(function(){}); 后,它开始显示正确的值。

工作代码:

<script type="text/javascript">
$(window).load(function() {
    $('.scrollable').each(function () {
        if ($(this)[0].scrollHeight <= $(this)[0].clientHeight) {
            $(this).removeClass("scrollable");
        }
    });
});