这里
我有一个HTML表,并为每一行设置了事件侦听器:
var greyHeadings = document.querySelectorAll(".grey");
console.log(greyHeadings);
greyHeadings.forEach(function(greyHeading){
greyHeading.addEventListener('click', function(e){
displayDescription(e, greyHeading);
});
});
称为(displayDescription
(的函数如下:
function displayDescription(e, greyHeading){
var desc = e.target.parentNode.nextSibling.firstChild;
console.log(desc);
}
它确实为我提供了正确的目标,但似乎nextSibiling.firstChild
不起作用。我需要到下一行(所以,兄弟姐妹(,并找到第一个td(所以,第一个孩子(,这样我就可以添加一个active
类,以防你想知道。
我还创建了一个jsfiddle:https://jsfiddle.net/7vpzLfke/
我是初学者,所以更详细的解释将不胜感激!
你必须使用 nextElementSibling
而不是 nextSibling
,因为nextElementSibling
总是返回一个 HTML 元素。更多关于这一点