前端页面:一直报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]);

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值