重複の可能性:
子孫を除く要素内のテキストの取得
使用しようとして:not
います.not()
が、まだ機能しません。結果を「月曜日」だけにしたい。
マークアップの例:
<td id="day_id">
Monday
<div class='spec_class'>
<span>One</span>
<span>Two</span>
</div>
</td>
重複の可能性:
子孫を除く要素内のテキストの取得
使用しようとして:not
います.not()
が、まだ機能しません。結果を「月曜日」だけにしたい。
マークアップの例:
<td id="day_id">
Monday
<div class='spec_class'>
<span>One</span>
<span>Two</span>
</div>
</td>
jQuery は実際にはテキスト ノードを「実行」しないため、生の DOM メソッドを使用したほうがよい数少ない場所の 1 つです。
var text = "",
node;
for (node = $("#day_id")[0].firstChild; node; node = node.nextSibling) {
if (node.nodeType === 3) { // 3 = text node
text += node.nodeValue;
}
}
console.log("[" + text + "]"); // "[ Monday ]"
テキスト「Monday」の前後に空白を含むテキスト ノードがあるため、前後の空白に注意してください。あなた$.trim()
はそれを取り除くために使用することができます.
もっと読む:
要素の textNodes を見る必要があります
var td = jQuery("#day_id");
var textNodes = td.contents().filter(function() {
return this.nodeType == 3;
});
console.log(textNodes.text());