前端頁面:一直報Cannot set property 'height' of undefined

一、出現錯誤的例子,只拷貝了項目中關鍵出現問題的部分html

例子中明明寫了style='height:16px'這個屬性,可是爲何還說height未定義呢jquery

經過打印發現: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 () {app

autoTextAreaHeight($(this)[0]);

})this

相關文章
相關標籤/搜索