微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

元素的最短DOM路径用于JavaScript / jQuery / Dojo

如何解决元素的最短DOM路径用于JavaScript / jQuery / Dojo

|| 单击此元素时,我想检索网站中一个随机元素的DOM路径(如Firebug或此Greasemonkey userscript)。这部分没问题,我返回一个包含路径的字符串。 唯一的缺点是我不需要完整的路径,例如
html > body > div #mainPanel > table #pageBody > tbody > tr > td 
就是这样:
#pageBody > tbody > tr > td
足以使用jQuery或Dojo检索元素。 我想到了使用Regexp删除最后一个ID之前的所有内容,这应该不是问题。 至于类,我不确定是否可以这样做,因为查看其他元素是否与模式匹配可能很有用。例如,在我的网站中,“ 2”匹配6个节点。我该如何找回好人? 除了class和id技巧外,还有其他缩短方法的可能性吗? (用于jQuery / Dojo或同等版本) 编辑:在评论之后,我找到了这个片段(©Greg \的代码) 现在,索引的问题已解决,我根据评论决定通过id缩短行进路线:) 感谢您的回答。     

解决方法

为了准确定位元素,您还需要存储元素的索引(在其父元素内)。否则,如Pointy所述,即使
#pageBody > tbody > tr > td
也将匹配
tr
内部的所有
td
\。     ,您唯一可以保证唯一的元素是具有id的元素,并且您也可以对某些其他元素进行推理(不能有嵌套的表单标签,只有一个标头,tr标签始终有一个外部表格标签,...),但是有些令人费解。我会坚持用id \'s。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。