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

奇妙なことに、Uncaught TypeError: Cannot read property 'length' of undefined というエラーが表示され、私が持っている 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テーブルがなければ、そのエラーはスローされません

4

2 に答える 2

4

あなたを変える$("#target").html().trim().length

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

このjsfiddle<div>を確認してください。タグ間のhtmlの長さを示しているため、長さが51になっています

.html()

一致した要素のセットの最初の要素の HTML コンテンツを取得します。

。文章()

一致した要素のセット内の各要素の結合されたテキスト コンテンツを取得します

于 2012-09-05T06:47:25.200 に答える
1

Jquery の代わりに innerHTML または innerText を直接使用してみてください

于 2012-09-05T07:08:37.057 に答える