如果我有一个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>
答案 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); }