获取 javascript 中上一个同级锚元素的 ID

Get the id of previous sibling anchor element in javascript

解决:获取前一个元素的id,使用previousElementSibling.id代替previousSibling.id。感谢Xufox和Skyline3000的快速提供解决方案。


完成一些锚点元素的面包屑后,我试图在单击一个面包屑时获取前一个同级元素的 ID(即父类别)。 例如。 Fruits> Apples> Green apples

不幸的是,我的代码不起作用。

我假设没有正确到达同级,因为我期待的是一些元素或对象而不是文本。

下面是两个面包屑的 HTML 和 javascript 的样子:

<a id="n5_40_64_40" onclick="javascript:
    var tree=jQuery('#tree').dynatree('getTree');
    if (!tree.activateKey('40')) {
      var parent=0;
      if (1) {
       parent=this.previousSibling.id.split(/[_]+/).pop();
      }
    }
    return false;" href="">Apples</a>
>
<a id="n5_40_64_64" onclick="javascript:
    var tree=jQuery('#tree').dynatree('getTree');
    if (!tree.activateKey('64')) {
      var parent=0;
      if (2) {
       parent=this.previousSibling.id.split(/[_]+/).pop();
      }
    }
    return false;" href="">Green apples</a>

所有文本和空格,包括 HTML 标签之间的空格和换行符,都算作 TextNode。因此,标签的前一个兄弟实际上是 <a> 标签之间空白的 textNode。您真正想要做的是找到作为元素(HTML 标记)的前一个兄弟。

为此你应该简单地使用 this.previousElementSibling