可能性の重複:
How do I select text nodes with jQuery?jQueryを使用してDOMでテキストノードを選択する方法は?
私は次のようなHTMLがあります。
<div id="main">17.00<span>%</span></div>
を私は17.00
部分を選択したいと思いますが、私は$('#id:first-child').html();
を使用する場合、それは働いていません。どのように選択できますか?
可能性の重複:
How do I select text nodes with jQuery?jQueryを使用してDOMでテキストノードを選択する方法は?
私は次のようなHTMLがあります。
<div id="main">17.00<span>%</span></div>
を私は17.00
部分を選択したいと思いますが、私は$('#id:first-child').html();
を使用する場合、それは働いていません。どのように選択できますか?
jQueryのは、テキストノードを直接操作するために多くを与えるものではありませんので、あなたはこのようにそれを行うことができます:
$('#main')[0].firstChild
[0]
はjQueryオブジェクトから最初のDOM要素を取得し、ネイティブfirstChild
プロパティを使用していますテキストノードを取得します。
ノードのテキストコンテンツを取得するには、.data
または.nodeValue
を追加します。
$('#main')[0].firstChild.data; // 17.00
$('#main')[0].firstChild.nodeValue; // 17.00
代替の方法は、jQueryのテキストノードではあまり役立ちません...
$('#main')[0].childNodes[0]
+1 - nice - again –
@AdamRackis ... :) –
だろう。あなたはこのJavaScriptで「17.00」のテキストを取得することができます:
var text = document.getElementById("main").firstChild.nodeValue;
あなたは本当に(私の知る理由はありませんが)のjQueryを使用したい場合は、あなたがこれを行うことができます:
var text = $("#main").get(0).firstChild.nodeValue;
あなたはそれがここで働くのを見ることができます:http://jsfiddle.net/jfriend00/EAwCB/
これは重複ではありません。この質問は、明示的に指定された単一のテキストノードを取得して、近隣ノードのテキストコンテンツを明示的に*除外します。リンクされた[どのようにjQueryでテキストノードを選択するのですか?](http://stackoverflow.com/questions/298750/how-do-i-select-text-nodes-with-jquery)は、すべての*テキストノード子孫、再帰的に。この質問とトップの答えは私のためにそれを解決しました。 –