2011-02-07 5 views
6

私にはスパンの数があるdivがあります。今私はthrir IDとともにすべてのスパンのすべてのテキストを読み、= spanidと値キー=」span.Howのテキストは、私はそれを行うことができますjavascriptのマップにそれを埋めるためにしたいですか?divのすべてのスパンを動的に読み取る

Eg <div mydiv="xyx" > 
    <span id ="sp1" > M/span> 
    <span id ="sp2" > M/span> 
    .... 
     .. 

    </div> 

私は読み込むことができますどのようにマップの非常にシンプルなのjQueryを使用して

答えて

9

あなたがそれらを反復処理し、オブジェクトにそれらを追加し、document.getElementByIdを使用して要素とdocument.getElementsByTagNameを得ることができます。 span要素のテキストを取得するためにtextContent and innerTextを使用し、そのようなオブジェクトにそれらを挿入します。

var spans = document.getElementById('xyx').getElementsByTagName('span'), 
    obj = {}; 

for(var i = 0, l = spans.length; i < l; i++){ 
    obj[spans[i].id] = spans[i].textContent || spans[i].innerText; 
} 

は、それがここで働いてください:http://www.jsfiddle.net/SJs4h/

-2

:?私は助け

var spans = $('#xyx').find('span'); 
var arr = new Array(); 
foreach(spans as span) 
{ 
     arr[$(span).attr('id')] = $(span).text; 
} 

希望

更新: ノン電子のjqueryの道:

var spans = document.getElementById('xyx'); 
spans = spans.getElementsByTagName('span'); 
var arr = new Array(); 
foreach(spans as span) 
{ 
    arr[span.getAttribute('id')] = arr[span.innerHTML]; 
} 
+0

申し訳ありませんが、私は、コードを更新したjqueryの – akshay

+0

を使用カント: - ) – WEBProject

+0

プレーンなjavascriptの割り当てが間違っています – knittl

2
var container=document.getElementById('xyx'); 
var spanArray=container.getElementsByTagName('span'); 
for(var s=0;s<spanArray.length;s++){ 
    spanText=spanArray[s].innerHTML; 
} 
関連する問題