首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Xpath 2.0中的当前节点获取父级父级

节点可以使用 Xpath 2.0 中的 ancestor 函数。该函数接收一个节点作为参数,并返回该节点的所有祖先节点。因此,要获取当前节点的父级父级节点,可以编写以下代码:

代码语言:php
复制
// 定义一个 ancestor 函数
function ancestor(node) {
  while (node) {
    if (node.tagName === 'XMPPElement') {
      return node;
    }
    node = node.parentNode;
  }
  return null;
}

// 获取当前节点的父级父级节点
var parent_node = ancestor(document.documentElement);

// 打印父级父级节点的名称
console.log(parent_node.tagName);

上述代码中,ancestor 函数遍历当前节点的所有祖先节点,直到找到 XMPPElement 类型的节点为止。然后,它返回该节点。最后,我们使用 parent_node 变量来获取当前节点的父级父级节点,并打印其名称。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • JS获取节点的兄弟,父级,子级元素的方法

    2015-08-18 03:48:27 下面介绍JQUERY的父,子,兄弟节点查找方法 jQuery.parent(expr)  找父亲节点,可以传入expr进行过滤,比如$("span").parent...()或者$("span").parent(".class") jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素 jQuery.children...(expr).返回所有子节点,这个方法只会返回直接的孩子节点,不会返回所有的子孙节点 jQuery.contents(),返回下面的所有内容,包括节点和文本。...(),返回所有之前的兄弟节点 jQuery.next(),返回下一个兄弟节点,不是所有的兄弟节点 jQuery.nextAll(),返回所有之后的兄弟节点 jQuery.siblings(),返回兄弟姐妹节点...jQuery.filter()是从初始的jQuery对象集合中筛选出一部分,而jQuery.find()的返回结果,不会有初始集合中的内容,比如$("p"),find("span"),是从元素开始找

    9.2K10

    JS和JQuery获取当前元素的兄弟及父级等元素的方法

    ) jQuery.parents(expr),类似于 jQuery.parents(expr) ,但是是查找所有祖先元素,不限于父元素 jQuery.children(expr),返回所有子节点,这个方法只会返回直接的孩子节点...(),返回兄弟姐妹节点,不分前后 jQuery.find(expr),跟 jQuery.filter(expr) 完全不一样: jQuery.filter(),是从初始的 jQuery 对象集合中筛选出一部分...,而 jQuery.find(),的返回结果,不会有初始集合中的内容,比如 $("p").find("span") ,是从 元素开始找 ,等同于 $("p span") JS获取:...var chils= s.childNodes;  //得到s的全部子节点 var par=s.parentNode;   //得到s的父节点 var ns=s.nextSibling;   //获得...;   //获得s的最后一个子节点 JS获取节点父级,子级元素:JS的方法会比JQUERY麻烦很多,主要则是因为FF、谷歌浏览器会把你的换行也当作DOM元素:空的text元素,目前IE也是这样 <div

    12.7K10

    利用个小bug判断typecho当前分类页面是父级还是子级

    bug描述 分类A是一个父级分类,a1,a2,a3都是A的子分类,并且发布的文章只勾选子级分类。 那么在分类A文章列表页面下,使用category; ?...>输出分类缩略名,它不会输出A的缩略名,反而会输出a1,a2,a3的某个分类的缩略名。 然后joyqi告诉我用getArchiveSlug(); ?>输出缩略名来解决这个问题。...分类页面子父级分类判断 然后我突发奇想,可以用这个判断分类页面是父级还是子级呀?我太天才了!!!...category; $b = $this->getArchiveSlug(); if($a==$b){echo '子级分类页面';}else{echo '父级分类页面';} ?...> 用途 可以用来分别设置子分类父级分类的样式,还可以根据分类级别不同输出不同内容,总之用起来很爽就对了!!!

    56410

    准确获取事件源的任意父级元素(事件委托)

    事件委托的特殊用法 问题回顾 当我们想给一个列表中的每个列表项添加相同的事件时,我相信最先想到的方法一定是事件委托,通过将事件监听器设置在其父节点上,利用事件冒泡的原理实现想要的操作,这样只进行了一次的...通常我们都会使用事件源e.target来获取点击的元素,从而可以知道我们点击的是谁。...li了,从而导致我们获取不到id无从下手 解决方法 下面我通过另一种方法很好的解决了这个问题 在我们的事件对象event中,存在着一个方法path,这个方法可以返回事件触发的所有父元素,我们可以使用这个方法...,整个方法的核心就是通过获取到触发事件元素的所有父元素集合,再通过筛选从而获得元素!...,因此我们可以通过事件对象下的path方法以及数组中的find方法选择出我们所要的列表项节点。

    2.6K30

    Vue如何在父级下使用v-slot的值

    关于作用域插槽v-slot的用法可以先看看文档 https://cn.vuejs.org/v2/guide/components-slots.html#%E4%BD%9C%E7%94%A8%E5%...9F%9F%E6%8F%92%E6%A7%BD 现在我们进入正题 我们用到一个第三方组件validate,这个第三方组件的插槽传了一个属性error值给我们,我们现在想要在父级中获得这个error值,...我们觉得可以在v-slot下使用一个方法,把error传到父级去,不就行了吗,的确是可以的: https://jsfiddle.net/jswenjie/pxru6y2m/5/ 问题出现 我们的页面有多个...validate的情况下,需要搜集所有的error,那么我们可以用个数组:https://jsfiddle.net/jswenjie/pxru6y2m/7/ 我们发现虽然结果是正确的,不过在控制台下出现了...有死循环的问题。 问题解决 为了解决这个问题,我考虑到是否可以用一个组件把 父级和子集关联起来呢,相当于给他们搭建一个桥梁,结果证明是可以的,就是略显繁琐,不知道大家有没有更好的方法呢?

    1.6K20

    RoslynMSBuild 在编译期间从当前文件开始查找父级文件夹,直到找到包含特定文件的文件夹

    大家在进行各种开发的时候,往往都不是写一个单纯项目就完了的,通常都会有一个解决方案,里面包含了多个项目甚至是大量的项目。...我们经常会考虑输出一些文件或者处理一些文件,例如主项目的输出目录一般会选在仓库的根目录,文档文件夹一般会选在仓库的根目录。 然而,我们希望输出到这些目录或者读取这些目录的项目往往在很深的代码文件夹中。...---- 现在,我们有了一个好用的 API:GetDirectoryNameOfFileAbove,可以直接找到仓库的根目录,无需再用数不清又容易改出问题的 ..\..\.. 了。...你只需要编写这样的代码,即可查找 Walterlv.DemoSolution.sln 文件所在的文件夹的完全路径了。...需要注意的是: 此方法不支持通配符,也就是说不能使用 *.sln 来找路径 此方法不支持通过文件夹去找,也就是说不能使用我们熟知的 .git 等等文件夹去找路径 此方法传入的文件支持使用路径,也就是说可以使用类似于

    22640

    System.InvalidOperationException:“寄宿的 HWND 必须是指定父级的子窗口。”

    当试图在 WPF 窗口中嵌套显示 Win32 子窗口的时候,你有可能出现错误:“寄宿的 HWND 必须是指定父级的子窗口。”。 这是很典型的 Win32 错误,本文介绍如何修复此错误。...---- 我们在 MainWindow 中嵌入一个其他的窗口来承载新的 WPF 控件。...一般情况下我们当然不会这么去做,但是如果我们要跨越进程边界来完成 WPF 渲染内容的融合的时候,就需要嵌入一个新的窗口了。...由于窗口句柄是可以跨越进程边界传递的,所以这样的方式可以完成跨进程的 WPF 控件显示。...问题 你有可能在调试嵌入窗口代码的时候遇到错误: System.InvalidOperationException:“寄宿的 HWND 必须是指定父级的子窗口。”

    33630
    领券