我有一个div,其中我有多个跨度。现在我想阅读所有跨度的所有文本以及thrir id并将其填充到javascript地图中,其中key = spanid和value =“span of text。我该怎么做?
Eg <div mydiv="xyx" >
<span id ="sp1" > M/span>
<span id ="sp2" > M/span>
....
..
</div>
我如何填充地图?
答案 0 :(得分:12)
您可以使用document.getElementById
和document.getElementsByTagName
获取元素,然后迭代它们并将它们添加到对象中。使用textContent
and innerText
获取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;
}
答案 1 :(得分:3)
var container=document.getElementById('xyx');
var spanArray=container.getElementsByTagName('span');
for(var s=0;s<spanArray.length;s++){
spanText=spanArray[s].innerHTML;
}
答案 2 :(得分:-1)
使用Jquery非常简单:
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];
}