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]);
})