迭代div的表和它们的元素?

时间:2011-05-09 21:00:44

标签: javascript html

如果我有一个div res,其中包含N个表格元素,其中包含ID为eye-d的Y div ..

我如何为获得eye-d.innerHTML的每张桌子迭代这些?

注意: eye-d是唯一的。 1 eye-d中有许多表。

eye-d

的示例
<div id=​"eye-d">​
  <table border=​"0" cellpadding=​"2" cellspacing=​"1" class=​"list">​
    <tbody>​
      <tr class=​"table_text">​…​</tr>​
        <tr>​
         <td class=​"odd">​…​</td>​
         <td class=​"odd">​ABC</td>​
         <td class=​"odd">​N/A​</td>​
        </tr>​
    </tbody>​
  </table>​
</div>

按照要求......改写......

我有一个ID为eye-d的div,然后我有很多表...这些表中的每一个都有许多带有类odd的div。对于.innerHTML中的每个表,我想要odd的{​​{1}}个。{/ p>

3 个答案:

答案 0 :(得分:3)

你的身份不是唯一的。

您不能拥有多个ID为<div>的{​​{1}}。

Id的 是唯一的,而"eye-d"属性不必是唯一的。您可能希望改用类。

name

<强> [[编辑]]

这些div的选择器就像<div class="eye-d"> ... </div>一样简单(使用jQuery

如果你必须使用原始JS,那么你可以:

$("#eye-d table .odd")

递归递归遍历节点树,如果找到,则为每个元素调用var div = document.getElementById("eye-d"); var tables = []; recurse(res.childNodes, function(el) { if (el.nodeName.toLowerCase() === "table") { tables.push(el); } }); // array of innerHTML of odd divs. var oddDivs = []; for (var i = 0, ii = tables.length; i < ii; i++) { recurse(tables[i].childNodes, function(el) { if (el.className.indexOf("odd") > 0) { oddDivs.push(el.innerHTML); } }); } function recurse(nodeList, do) { for (var i = 0, ii = nodeList.length; i < ii; i++) { do(nodeList[i]); if (nodeList[i].childNodes.length > 0) { recurse(nodeList[i].childNodes, do); } } } 。然后,您可以搜索任何您想要的内容。

答案 1 :(得分:0)

如果Y div和eye-d你的意思是眼睛 - 后跟* d * igit /数字,那么它就像while (Y--) document.getElementById('eye-'+Y).innerHTML=...

一样简单

答案 2 :(得分:0)

据我了解,你有:
1. ID为 eye-d 的div 这个div里面有几张桌子 3.您想要获取每个表并查看其innerHTML。

var allTables = document.getElementById('eye-d').getElementsByTagName('table');  
for(i in allTables){ alert(allTables[i].innerHTML); }
相关问题