[英]reading all spans of a div dynamically
I have a div inside which i have number of spans. 我有一个div里面,我有多个跨度。 Now i want to read all text of all spans along with thrir id and populate it into a javascript map where key = spanid and value =" text of span.How can i do it?
现在我想阅读所有跨度的所有文本以及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>
How can i populate the map? 我如何填充地图?
You can get the elements using document.getElementById
and document.getElementsByTagName
, then iterate through them and add them to the object. 您可以使用
document.getElementById
和document.getElementsByTagName
获取元素,然后遍历它们并将它们添加到对象中。 Use textContent
and innerText
to obtain the text of the span
element, and insert them into the object like so: 使用
textContent
和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;
}
See it working here: http://www.jsfiddle.net/SJs4h/ 看到它在这里工作: http : //www.jsfiddle.net/SJs4h/
var container=document.getElementById('xyx');
var spanArray=container.getElementsByTagName('span');
for(var s=0;s<spanArray.length;s++){
spanText=spanArray[s].innerHTML;
}
Using Jquery its very simple: 使用Jquery非常简单:
var spans = $('#xyx').find('span');
var arr = new Array();
foreach(spans as span)
{
arr[$(span).attr('id')] = $(span).text;
}
Hope i helped. 希望我帮忙。
Update: None jquery way: 更新:无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];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.