如何使用 javascript 或 jquery 生成 CSS 路径?

2024-06-20

关于如何生成元素的 CSS 路径有什么建议吗?

CSS 路径是识别特定元素所需的 css 选择器的路径,例如,如果我的 html 是:

<div id="foo">
 <div class="bar">
  <ul>
   <li>1</li>
   <li>2</li>
   <li><span class="selected">3</span></li>
  </ul>
 </div>
</div>

那么,“3”的类路径将是div#foo div.bar ul li span.selected

JQuery 使用类路径来识别 DOM 元素,可能会提供一个很好的解决方案,但到目前为止我还找不到一个。


我不明白为什么这个问题被否决了,这是一个很好且合理的问题

这是一个(过于简单的)示例,说明如何做到这一点

<div id="a">
    <div class="b">
        <div><span></span></div>
    </div>
</div>


<script>
function getPath(elem) {
    if(elem.id)
        return "#" + elem.id;
    if(elem.tagName == "BODY")
        return '';
    var path = getPath(elem.parentNode);
    if(elem.className)
        return path + " " + elem.tagName + "." + elem.className;
    return path + " " + elem.tagName;
}

window.onload = function() {
    alert(getPath(document.getElementsByTagName("SPAN")[0]));
}
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 javascript 或 jquery 生成 CSS 路径? 的相关文章

随机推荐

  • MATLAB 列含义的内存分析

    我正在使用 MATLAB 配置文件来使用命令观察内存 profile memory on profile clear my code profile report and i got this table 1 我想问一下什么意思 已分配内存
  • java.lang.IllegalArgumentException:此组件要求您指定有效的 android:textAppearance 属性

    我的布局文件之一中有一个 com google android material button MaterialButton 组件 当我使用最新版本的 Material Components 库 com google android mat
  • 在 C++11 中抛出异常时是否使用移动语义?

    http www drdobbs com cpp practical c error handling in hybrid env 197003350 pgno 4 http www drdobbs com cpp practical c
  • 使用子查询 select 创建新表

    我试图从子查询选择创建一个新表 但出现以下错误 附近的语法不正确 SELECT INTO foo FROM SELECT DATEPART MONTH a InvoiceDate as CalMonth DATEPART YEAR a In
  • 将样式添加到 mat-autocomplete 的 mat-option

    我有这个 HTML代码在这里 https stackblitz com edit angular mat autocomplete with selected value vx1uqg file src 2Fapp 2Fautocomple
  • 如何将 devise/omniauth 重定向到我登录的页面?

    我通过omniauth 进行了身份验证 并且该链接通过layout application html haml 在每个页面上都可用 然而 当他们完成omniauth身份验证后 他们都会进入root权限 我如何设置它 以便他们重定向到他们单击
  • 在 Android 上通话结束时启动活动

    我想在通话结束时启动一项活动 找不到任何对此的参考 我该怎么做 我还没有尝试过这个 但我假设你可以运行一些服务 始终在后台运行 它利用电话状态监听器 http developer android com reference android
  • Gatsby,“gatsby--image”在项目“构建”时不显示图像,但在开发过程中正确显示

    我用 gatsby 构建了我的第一个静态网站 但在使用 gatsby image 时遇到困难 我正在使用 gatsby image 中的 Img 组件 它在开发中正确显示图像 但在构建网站时什么也不显示 我使用图像的标题 import Re
  • 如何实现 Vec 的修剪?

    Rust 提供了字符串的修剪方法 str trim http doc rust lang org stable std primitive str html method trim删除前导和尾随空格 我想要一个对字节串执行相同操作的方法 应
  • 起订量:无法投射到接口

    今天早些时候我问过这个question https stackoverflow com questions 2774785 moq unable to cast 因此 由于起订量从接口创建它自己的类 我无法将其转换为不同的类 所以这让我想知
  • KafkaConsumer Java API subscribe() 与 allocate()

    我是 Kafka Java API 的新手 我正在研究使用来自特定 Kafka 主题的记录 我明白我可以使用方法subscribe 开始从主题轮询记录 Kafka还提供了方法assign 如果我想开始从主题的选定分区轮询记录 我想了解这是否
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • 有没有keras方法来分割数据?

    我认为标题是不言自明的 但要详细询问 有 sklearn 的方法train test split 其工作原理如下 X train X test Y train Y test train test split X Y test size 0
  • python 中的高效外积

    当我们必须处理 10k 维的向量时 Python 中的外积看起来相当慢 有人可以告诉我如何在 python 中加速这个操作吗 代码如下 In 8 a shape Out 8 128 In 9 b shape Out 9 32000 In 1
  • Vim 自动缩进换行

    我如何让vim将光标放在大括号内以新行开始 即用 表示光标位置 class 现在我的设置只能做到这一点 class 我在 vimrc 文件中得到了这个 设置自动缩进 shiftwidth 2 tabstop 2 noexpandtab 基本
  • 创建一个从用户输入开始的 java gui 倒计时器

    这是github link https github com syedsadman16 CountdownTimer 所以我试图创建一个应用程序并将其分为 3 个部分 其中之一是创建一个计时器 该计时器有两个字段 一个用于输入分钟 一个用于
  • 太多的导入正在垃圾邮件我的 Java 代码

    在我的项目中我有一个shapes包含我为图形程序设计的形状的包 例如 长方形 and Circle 我还有一两个同名的软件包java awt类 现在 由于我不想重命名代码库中的每个类 为了显示我的源文件 当我声明一个新的矩形时 我需要执行以
  • 在玩笑中运行普通转换后如何转换模块

    用笑话测试 React 组件 其中一些组件使用 OpenLayers ol 软件包 v5 2 0 在 ol 包 v4 中 我应用了 transformIgnorePatterns 来转换 ol 包 jest transformIgnoreP
  • Swift SpriteKit edgeLoopF​​romRect 问题

    下面的代码可以识别底部和顶部边缘场景和球按预期弹开 但是 那左边缘和右边缘现场的情况一直被破坏 如果施加足够的力 球会离开屏幕 然后最终返回 就好像场景的边缘超出了 iPhone 模拟器窗口的边缘 import SpriteKit clas
  • 如何使用 javascript 或 jquery 生成 CSS 路径?

    关于如何生成元素的 CSS 路径有什么建议吗 CSS 路径是识别特定元素所需的 css 选择器的路径 例如 如果我的 html 是 div div class bar ul li 1 li li 2 li li span class sel