跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何在一个 html 中记录鼠标点击的元素,假设所有 dom 都没有 id
未分類
25 4 月 2020

如何在一个 html 中记录鼠标点击的元素,假设所有 dom 都没有 id

如何在一个 html 中记录鼠标点击的元素,假设所有 dom 都没有 id

資深大佬 : wangyzj 16

老哥们帮忙

大佬有話說 (20)

  • 資深大佬 : loading

    click event
    this

  • 主 資深大佬 : wangyzj

    @loading 可我要把我点击的元素是什么记录下来,按照你这个我要记录什么
    offsetparent 可以
    就是层数太多会很麻烦

  • 資深大佬 : azcvcza

    在 body 上添加监听器,然后记录?
    或者看看其他带佬关于前端埋点的文章

  • 資深大佬 : kaiki

    把他当 this,然后给 this 加 id ?

  • 資深大佬 : pota

    xpath ?

  • 資深大佬 : vivipure

    document.addEventListener(‘click’,function(e) {
    console.log(e.target.style.color=’red’)
    })

  • 資深大佬 : iyaozhen

    @wangyzj 你是想记录这个元素的 css selector 路径是吧

  • 資深大佬 : imhxc

    如果你要记录这个元素,如果不用 ID,好像没有太好的办法,因为你 DOM 结构是变化的。

  • 主 資深大佬 : wangyzj

    @iyaozhen 可以这么说

  • 主 資深大佬 : wangyzj

    @imhxc 如果假设 dom 结构都是后台渲染静态不变呢?

  • 主 資深大佬 : wangyzj

    @pota 我想过这个
    但是 xpath->dom 容易
    dom 反查 xpath 咋整
    貌似还得我说的那个 offsetparent 那种

  • 資深大佬 : ESeanZ

    点过的元素都加个参数?

  • 資深大佬 : superrichman

    https://stackoverflow.com/questions/3454526/how-to-calculate-the-xpath-position-of-an-element-using-javascript/3454579

    搜索
    function getXPath

  • 主 資深大佬 : wangyzj

    @superrichman 好像有点意思

  • 資深大佬 : imhxc

    @wangyzj

    > 如果假设 dom 结构都是后台渲染静态不变呢?

    你怎么保证后续开发不会影响到 DOM 结构?

  • 主 資深大佬 : wangyzj

    @imhxc 我说的意思就是假设不变
    如果变的话就要重新记录了

  • 資深大佬 : imhxc

    @wangyzj 嗯嗯 不变最好了。 那就用上推荐的方法,我个人优先推荐 xpath,其次 css selector 。

    另外,也可以尝试对每个版本保存一个结构快照,用于比对多个版本下的点击是属于同一个元素,不过这只是我一个想法,不知道是否可行。

  • 主 資深大佬 : wangyzj

    @imhxc 肯定对每个版本都有记录,记录只能对应版本
    否则就算是全有 id 也没发控制

  • 資深大佬 : zhw2590582

    前几天看到过类似的库,从 DOM 反查唯一选择器 https://github.com/fczbkk/css-selector-generator

  • 主 資深大佬 : wangyzj

    @zhw2590582 好东西,谢谢哦

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具