2011-07-29 17 views
1

私はJavascriptを新しく使いました。スクリプト内で使用できるように、IDがfirstvalueのノードの値を取得する必要があります。誰でも私にその価値をどうやって教えてくれますか?Javascript:ノード値を取得する

<div id="myDiv"> 

<span id="firstValue"> 5.22 <span id="nestedValue"> 500 </span></span> 

</div> <!-- myDiv --> 
+0

内部のhtml(入れ子にされています)または最初の値は、テキストの内容のようになりますか?後者の場合、 ' 5.22 foo 'で検索する必要があるのは? – Dilettant

+0

@Dilettant:ちょうど5.22を取得し、他のすべてを無視したいです。 – haunted85

答えて

4

document.getElementById("firstValue")はあなた<span>への参照を取得します。これには2つの子ノードがあり、配列のようなchildNodesプロパティを使用して参照することもできます。この場合は単にfirstChildlastChildのプロパティを使用します。ここで

document.getElementById("firstValue").firstChild.nodeValue; 
+0

私は 'firstChild'(あるいはもっと一般的には' childNodes [i] ')を使って木を下ろして何か必要なものを得ることができます。私はたくさん混乱してしまい、ありがとうございました。 – haunted85

2
var nodeValue = document.getElementById("firstValue").innerHTML 

この意志= "5.22 <span id="nestedValue"> 500 </span>"

+0

その値だけをキャッチする方法はありませんか? – haunted85

+0

私は自分で簡単にして、2つのアイテムを入れ子にしません。 –

0

は、その目的のために、そしてスパンが存在しなかったでしょうか、空になる場合のエラー処理とシンプルな機能である:

例えば、以下はあなたの文字列「5.22」を返します
function getFirstValue() { 
    var spanFirstValue = document.getElementById("firstValue"); 
    if (spanFirstValue) { 
     var textNode = spanFirstValue.childnodes[0]; 
     if (textNode) { 
      return textNode.data; 
     } 
    } 
    return ""; 
} 
1

多くのjavascriptライブラリは、prototype、dojo、jQueryなどのDOM要素へのアクセスを多く支援しています。プロトタイプでは次のように入力します:$('firstValue').firstChild.nodeValue

関連する問題