普通的Javascript:event.target:获取下一个兄弟姐妹,&第一个孩子

时间:2017-06-21 12:34:28

标签: javascript html css

我有一个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/

我是初学者,所以我将非常感谢您提供更详细的解释!

1 个答案:

答案 0 :(得分:4)

您必须使用nextElementSibling而不是nextSibling,因为nextElementSibling始终会返回HTML元素。有关here

的更多信息