获取下一个不工作Javascript DOM的同级父节点的子节点
Get Child Node of next Sibling Parent Node NOT Working Javascript DOM
我有这段HTML代码。
<tbody>
<tr>
<td><a href='/some/link' class="image"> ... </a></td>
<td><a href="/some/link2" title="foo"> SOME TEXT </a></td>
</tr>
<tr>
<td> some td node that appears randomly </td>
<td><a href='/some/link' class="image"> ... </a></td>
<td><a href="/some/link2" title="foo"> SOME TEXT </a></td>
</tr>
</tbody>
我想得到<td>
元素,它是<td>
元素与class="image"
的下一个绑定。感谢有人能帮助我。我下面的代码给了我未定义的信息。非常感谢。
下面,我用class="image"
调用了节点的parentElement
,并指示它转到下一个Sibling节点,得到该特定节点的childNode
,最后得到文本。我不明白为什么它不起作用。
var nodes = document.querySelectorAll('tbody > tr > td > a.image');
return Array.prototype.map.call(nodes, function(e) {
return e.parentElement.nextSibling.childNodes[1].a.innerText;
}
网站Url:https://en.wikipedia.org/wiki/List_of_Nobel_Peace_Prize_laureates
HTML 屏幕截图
我打算把所有诺贝尔奖获得者的名字都拿出来。
以下内容将适用于
Array.prototype.map.call(nodes, function(e) {
return e.parentElement.nextElementSibling.childNodes[1].innerText;
})
编辑:
基于给定的wiki链接,我们可以用不同的方式来实现,其中一种方式如下。
假设每个tr
将包含名称
var trs = document.querySelectorAll('.wikitable tr');// 'tbody > tr > td > a.image' will give a.image inside single tr also which may fail
Array.prototype.reduce.call(trs,function(result,tr){
var e = tr.querySelector('td .image')
if(e && e.parentElement.nextElementSibling)
result.push(e.parentElement.nextElementSibling.querySelector('a').innerText);
return result;
},[])
相关文章:
- 仅使用某些子节点访问xml中父节点的子节点
- 使用Javascript设置带有子节点的父节点的类's文本等于.
- 如何确定父节点是否有子节点
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 取消绑定父节点和子节点
- jstree jquery插件-获取父节点的所有子节点和子节点
- 使用jquery检索父节点的子节点
- 如何在所有父节点上获取文件夹图标,在所有子节点上获取文件夹加图标(左侧的图标)
- Kendo TreeView-只向没有子节点的父节点添加删除图像图标
- 如何在普通 JavaScript 中获取内部子节点的最外层父节点
- 子节点不会离开父节点
- 通过单击父名称 jsTree 获取子节点
- 比较父节点和子节点的相似性
- hammer.js - 父节点和子节点上的不同滑动处理程序
- 在树布局中选择子节点的所有路径和父节点
- dojodijittree:如何管理父节点、子节点和叶节点
- 如何在Kendo TreeView中检查父节点的子节点是否已检查
- cloneNode并将所有节点(父节点+子节点)的值相加.Javascript