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