前端页面:一向报Cannot set property 'height' of undefined

1、涌现毛病的例子,只拷贝了项目中症结涌现问题的部份

例子中明显写了style=’height:16px’这个属性,然则为何还说height未定义呢

经由过程打印发明:cks.each(function () {
            autoTextAreaHeight($(this));
          });中的$(this)取出来被当做数组处理了,所以要加上[0]

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    <title>菜鸟教程(runoob.com)</title>
    <script>
         var element = "<span>" +
                "<input type='checkbox' value='" + 0 + "'>" +
                "<textarea  style='height:16px; width:100px;margin-left:7px;'  class='show_text'  oninput='autoTextAreaHeight(this)' "+
                ">asdsaaaaaaaaaaaaawqdqwwqa</textarea>"
        //$.find("body").append(element);
        $(window).load(function(){ 
            //用jq在body中动态增加元素
            $(document.body).append(element);
            $(document.body).append(element);
            //初始化挪用文本域高度自适应要领
            $(function () {
                var cks = $(".show_text");
                cks.each(function () {
                    autoTextAreaHeight($(this));
                })
            }) 
        });
        //文本域自适应
         function autoTextAreaHeight(o) {
           o.style.height = o.scrollTop + o.scrollHeight + "px";
        } 
    </script>
</head>
<body>
</body>
</html>

修改成

cks.each(function () {

autoTextAreaHeight($(this)[0]);

})

    原文作者:今天_明天
    原文地址: https://segmentfault.com/a/1190000018271120
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞