English 中文(简体)
动态读取div的所有跨度
原标题:reading all spans of a div dynamically

我有一个div,里面有很多跨距。现在,我想读取所有span的所有文本以及thirr-id,并将其填充到一个javascript映射中,其中key=spanid和value=“text of span。我该怎么做?”?

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

   </div>

如何填充地图?

最佳回答

您可以使用document.getElementByIddocument.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;
}

点击此处查看: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;
}

使用Jquery非常简单:

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

希望我能帮上忙。

Update: None jquery way:

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




相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签