来自Jquery的奇怪错误

时间:2012-09-05 06:41:10

标签: jquery

if($("#target").html().trim().length>0){do sth}

很奇怪我得到错误说Uncaught TypeError:无法读取未定义的属性'length' 并在html中我有

<div id="target"><table><tr><td>ABC</td></tr></table></div>

奇怪的问题是,如果我执行console.info($("#target").html().trim().length),它会告诉我一些数字。

并且我发现最奇怪的事情是避免该错误的唯一方法是更改​​html内容

<div id="target">ABC</div>

没有html表,它不会抛出那个错误

2 个答案:

答案 0 :(得分:4)

更改您的$("#target").html().trim().length

$("#target").text().trim().length

选中此jsfiddle,您的长度为51,因为它在 <div> 标记

.html()

  

获取匹配集中第一个元素的HTML内容   元件。

.text()

  

获取匹配集合中每个元素的组合文本内容   元素

答案 1 :(得分:1)

尝试直接使用innerHTML或innerText而不是Jquery