Javascript 关于DOM元素内部标识符

Javascript 关于DOM元素内部标识符,javascript,html,dom,Javascript,Html,Dom,我想用单音识别一些DOM元素(特别是列表中的元素)。首先,我考虑使用id或data-属性,但我拒绝了这个选项,因为这些属性可以使用开发人员工具轻松更改 是否有任何内部id可用于此目的 谢谢 标识DOM元素最常用的方法是使用类属性或id: document.getElementById(id) document.getElementsByClassName(className) 这里还有一个选项,可以迭代标记找到的元素: document.getElementsByTagName(tagName

我想用单音识别一些DOM元素(特别是
列表中的
  • 元素)。首先,我考虑使用
    id
    data-
    属性,但我拒绝了这个选项,因为这些属性可以使用开发人员工具轻松更改

    是否有任何内部id可用于此目的


    谢谢

    标识DOM元素最常用的方法是使用类属性或id:

    document.getElementById(id)
    document.getElementsByClassName(className)
    
    这里还有一个选项,可以迭代标记找到的元素:

    document.getElementsByTagName(tagName)
    

    如果您无法控制HTML标记,我相信您的情况没有什么不同。

    标识DOM元素最常用的方法是使用class属性或id:

    document.getElementById(id)
    document.getElementsByClassName(className)
    
    这里还有一个选项,可以迭代标记找到的元素:

    document.getElementsByTagName(tagName)
    

    如果您对HTML标记没有任何控制权,我相信您的情况不会有任何不同。

    元素没有内部ID。无法在无法更改的元素上真正设置id

    您真正能做的唯一一件事就是保存对数组/对象/变量中元素的引用,但即使是人也可以在代码中设置断点并对其进行更改


    因此,最终,我们真的无法识别一个元素,也无法不让一个人参与开发人员工具并对其进行更改。

    元素没有内部ID。无法在无法更改的元素上真正设置id

    您真正能做的唯一一件事就是保存对数组/对象/变量中元素的引用,但即使是人也可以在代码中设置断点并对其进行更改


    因此,最终,我们真的无法识别一个元素,也无法不让一个人参与开发人员工具并对其进行更改。

    JavaScript不会公开一个类似哈希代码的属性来识别对象


    如果要保留对特定
    ul
    元素的特定子元素的引用,并且您知道这些子元素将始终位于页面中的特定位置,请直接使用
    document.queryselectoral()
    和尽可能多的子组合符和
    :nth-child()
    选择器来选择它们。大多数浏览器开发工具都允许您根据元素在DOM结构中的位置,使用元素检查器为所需的
    ul
    元素复制唯一的选择器。只需将
    >li
    添加到该选择器中,并根据需要在子元素节点之间循环。

    JavaScript不会公开用于标识对象的类似哈希代码的属性


    如果要保留对特定
    ul
    元素的特定子元素的引用,并且您知道这些子元素将始终位于页面中的特定位置,请直接使用
    document.queryselectoral()
    和尽可能多的子组合符和
    :nth-child()
    选择器来选择它们。大多数浏览器开发工具都允许您根据元素在DOM结构中的位置,使用元素检查器为所需的
    ul
    元素复制唯一的选择器。只需将
    >li
    添加到该选择器中,并根据需要循环子元素节点。

    答案是否。您可以在变量中存储对元素的引用,但没有内部id。这是什么意思?您的意思是希望在一个页面中获取所有
  • 的集合吗?最好的选择可能是
    文档。querySelectorAll
    。这样你就得到了一个节点列表,例如,
    querySelectorAll('ul li')
    将给出所有的
    li
    ,而项目1将始终是项目1(在标记中),无论是类还是id。@zero298,我的意思是如果有一个内部id可以用来唯一地标识我页面的某些元素,并且不能更改,作为普通属性。答案是否。您可以在变量中存储对元素的引用,但没有内部id。您的意思是什么?您的意思是希望在一个页面中获取所有
  • 的集合吗?最好的选择可能是
    文档。querySelectorAll
    。这样你就得到了一个节点列表,例如,
    querySelectorAll('ul li')
    将给出所有的
    li
    ,而项目1将始终是项目1(在标记中),无论是类还是id。@zero298,我的意思是如果有一个内部id可以用来唯一地标识我页面的某些元素,并且不能更改,正如normal attributes.OP询问的那样,如何知道元素1是元素1,而不需要有人更改该元素的id。。。。怀疑这实际上回答了OPs的问题。OP的问题是如何知道元素1是元素1,而不需要有人更改该元素的id。。。。怀疑这是否真的回答了这个问题。