元素的最短DOM路径(用于JavaScript/jQuery/Dojo)
Shortest DOM path of an element (for use in JavaScript/jQuery/Dojo)
我想在点击网站中的随机元素(如Firebug或Greasemonkey用户脚本)时检索该元素的DOM路径。这部分没有问题,我返回了一个包含路径的字符串。
唯一的缺点是我不需要像这样的完整路径
html > body > div #mainPanel > table #pageBody > tbody > tr > td
仅此一点:#pageBody > tbody > tr > td
就足以使用jQuery或Dojo检索元素。
我想用Regexp删除最后一个id之前的所有内容,这应该不是问题。
至于类,我不确定我是否能做到这一点,因为查看其他元素是否与模式匹配可能会很有用。例如,在我的站点中,.DiscreetList > li
匹配6个节点。我怎样才能取回好的?
除了class和id技巧之外,还有其他缩短的可能性吗?(用于jQuery/Dojo或等效程序)
编辑:在评论之后,我发现了这个片段(©Greg的代码)
现在,索引的问题已经解决了,根据评论,我决定缩短id,安全的方法是:)
谢谢你的回答。
为了准确定位元素,还需要存储元素的索引(在其父元素中)。否则,正如Pointy所提到的,即使是#pageBody > tbody > tr > td
也会匹配tr
内部的所有td
。
您可以保证唯一的元素是具有id的元素,您也可以推断某些其他元素(不能有嵌套的表单标记,只有一个head,tr标记总是有一个外部表标记,…),但这有点复杂。我会坚持使用身份证。
相关文章:
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Javascript(jQuery)给了我奇怪的结果
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript/jQuery中的并行Ajax调用
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- Javascript/Jquery/PHP加载页面-如何
- Javascript/Jquery Blob not showing Chrome PDF
- 如何使用javascript/jquery获取iframe的URL的锚点属性
- OnClick/Onhover Javascript/jquery
- 如何从javascript/jquery中的复选框中获取布尔值
- javascript/jquery将utc转换为短格式的本地时间
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 如何向这个javascript/jquery函数添加参数
- 用JavaScript/jQuery点击图片,选中多个方框
- 使用Javascript/JQuery获取JSON GET数据
- 从数组中删除元素的最佳方法是:javascript/jquery
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 用DRY方式Javascript/JQuery动态替换HTML
- 类似Javascript JQuery的库
- 如何在 Javascript/jQuery 中获取一些随机下拉列表的选定值