动态读取div的所有跨度

aks*_*hay 7 html javascript

我有一个div里面,我有多个跨度.现在我想阅读所有跨度的所有文本以及thrir id并将其填充到javascript地图中,其中key = spanid和value ="span of text.How我能做到吗?

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

   </div>
Run Code Online (Sandbox Code Playgroud)

我如何填充地图?

Yi *_*ang 12

您可以使用document.getElementById和获取元素document.getElementsByTagName,然后遍历它们并将它们添加到对象中.使用textContentinnerText获取span元素的文本,并将它们插入到对象中,如下所示:

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;
}
Run Code Online (Sandbox Code Playgroud)

看到它在这里工作:http://www.jsfiddle.net/SJs4h/