当前位置: 首页 > 面试题库 >

有没有办法选择同级节点?

潘青青
2023-03-14
问题内容

由于某些性能原因,我试图找到一种仅选择所选节点中同级节点的方法。例如,

 <div id="outer">
      <div id="inner1"> </div>
      <div id="inner2"> </div>
      <div id="inner3"> </div>
      <div id="inner4"> </div>
 </div>

如果选择了inner1节点,是否可以访问其兄弟inner2-4节点?


问题答案:

好吧…确定…先拜访父母,再拜访孩子。

 node.parentNode.childNodes[]

或者…使用jQuery:

$('#innerId').siblings()

编辑:Cletus一如既往地鼓舞人心。 我进一步挖掘。这就是jQuery本质上如何获得兄弟姐妹的方式:

function getChildren(n, skipMe){
    var r = [];
    for ( ; n; n = n.nextSibling ) 
       if ( n.nodeType == 1 && n != skipMe)
          r.push( n );        
    return r;
};

function getSiblings(n) {
    return getChildren(n.parentNode.firstChild, n);
}


 类似资料:
  • 问题内容: 我想根据一个简单的标准更新一组行,并获取已更改的PK列表。我以为我可以做这样的事情,但担心可能出现的并发问题: 如果将其包装在事务中,是否会发生任何并发问题?还是有更好的方法来做到这一点? 问题答案: 考虑查看OUTPUT子句:

  • 问题内容: 我正在构建带有一些文本元素(例如选项卡名称)的HTML UI,这些文本元素在被选中时看起来很糟糕。不幸的是,对于用户来说,双击选项卡名称非常容易,该名称在许多浏览器中都是默认选择的。 我也许可以用JavaScript技巧解决这个问题(我也想看看那些答案),但是我真的希望CSS / HTML中的某些功能可以直接在所有浏览器中使用。 问题答案: 在大多数浏览器中,可以使用CSS来实现: 对

  • 我有以下html: 正如你所看到的那样。子列表div总是跟在带和一些文本的后面,就像div是h2的子列表一样(h2是子列表的标题)。另一个包含锚定标记。 我想得到div. sublist之前的所有h2标签。 这是我当前的xpath子句: 我最终得到了不同的元素(a、div、img),但h2元素。

  • 我有一个用于验证字符串的方法,我希望该方法返回一个承诺,因为正在运行的验证可能是异步的。然而,我遇到的问题是性能问题,我希望在可能的情况下在相同的事件循环中解决Promission(例如:当没有异步验证要做时),但我希望接口保持一致(例如:始终返回Promission)。 下面的简化代码示例说明了我正在尝试的操作,但是它会导致前面提到的性能损失,因为即使可以同步执行验证,它仍然等待下一个事件循环来

  • 问题内容: 我正在构建带有一些文本元素(例如选项卡名称)的HTMLUI,这些文本元素在被选中时看起来很糟糕。不幸的是,对于用户来说,双击选项卡名称非常容易,该名称在许多浏览器中都是默认选择的。 我也许可以用JavaScript技巧解决这个问题(我也想看看那些答案),但是我真的希望CSS/HTML中的某些功能可以直接在所有浏览器中使用。 问题答案: 在大多数浏览器中,可以使用CSS来实现: 对于IE

  • 由于TypeScript是强类型的,因此简单地使用来检查和听起来是不对的。 TypeScript是否有任何专门的函数或语法糖对此?