About DOM elements internal indentifier

element id
dom unique identifier
generate dom id
html element unique identifier
jquery element identifier
mdn element id
read element ids aloud
getelementbyid returns null

I'd like to identify univocally some DOM elements (specifically, the <li> elements of an <ul> list). First, I thought about using the id or data- attributes, but I declined the option because these attributes can be changed easily using the developer tools.

Is there any internal id that I could use for this purpose?

Thanks!

JavaScript doesn't expose a hash code-like property with which to identify objects.

If you want to hold references to specific children of a specific ul element that you know will always be at a specific location in the page, select them directly using document.querySelectorAll() with as many child combinators and :nth-child() selectors as necessary. Most browser developer tools will allow you to copy a unique selector for your desired ul element using the element inspector based on the location of that element in your DOM structure. Just add > li to that selector and loop through the child element nodes as appropriate.

What is DOM element?, The id property of the Element interface represents the element's identifier, Document Object Model (DOM) Level 2 HTML Specification In the DOM there is no internal element id: the id is a public characteristic of elements. Perhaps you mean to refer to the identifier that Selenium associates with elements when you use the functions for finding elements. This is separate from the DOM and a serialization of the DOM won't give you this.

There is no internal ids for elements. There is no way to really set an id on an element that can not be changed.

Only thing you really can do is hold references to elements in an array/object/variables, but even a person could set a break point in the code and alter that.

So in the end, there is really no way to identify an element and not have a person muck in developer tools and change it.

HTML, In this tutorial, we will go over several ways to access elements in the DOM: by ID​, class, tag, and query selectors. Overview. Here is a table  In the HTML DOM, the Element object represents an HTML element, like P, DIV, A, TABLE, or any other HTML element.

The most common way to identify DOM elements is to use either class property or id:

document.getElementById(id)
document.getElementsByClassName(className)

Here is also an option to iterate over elements found by tag:

document.getElementsByTagName(tagName)

If you don't have any control over HTML markup I believe there are no difference in your case.

What are the Different Types of DOM ? - HTML, For element nodes, most standard HTML attributes automatically become For instance, if the tag is <body id="page"> , then the DOM object has body.id="page" . Its href has :// in it; But doesn't start with http://internal.com . In order to be proficient at accessing elements in the DOM, it is necessary to have a working knowledge of CSS selectors, syntax and terminology as well as an understanding of HTML elements. In this tutorial, we will go over several ways to access elements in the DOM: by ID, class, tag, and query selectors.

Element.id, Node – is also an “abstract” class, serving as a base for DOM nodes. It provides the HTMLElement – is finally the basic class for all HTML elements. It is inherited div id = " elem " > Hello < b > World </ b > </ div > < script > alert ( elem . outerHTML ) The console takes them from constructor internally. DOM The definition of 'id' in that specification. Living Standard: No change from Document Object Model (DOM) Level 2 HTML Specification. Document Object Model (DOM) Level 2 HTML Specification The definition of 'id' in that specification. Obsolete: No change from Document Object Model (DOM) Level 1 Specification.

Element, The Document Object Model (DOM) is a programming API for HTML and XML navigate their structure, and add, modify, or delete elements and content. with a few exceptions - in particular, the DOM interfaces for the internal subset and  Element is the most general base class from which all element objects (i.e. objects that represent elements) in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element.

Methods for Accessing Elements in the DOM File with JavaScript , The Document Object Model (DOM) is an application programming interface their structure, and add, modify, or delete elements and content. with a few exceptions - in particular, the DOM interfaces for the XML internal  @JustinBull be careful with storing copies of the elements to revert. When storing a DOM element in an array, a reference to the DOM element is stored, not a copy, so changes made to the DOM element will be reflected when referencing the array's element. This is the case with all objects in javascript (variables of type 'object').

Comments
  • The answer is no. You can store references to elements in variables, but there is no internal id.
  • What do you mean? Do you mean you want to get a collection of all <li> in a page?
  • The best option would likely be document.querySelectorAll. With that you get a node list, e.g. querySelectorAll('ul li') will give all li, and item 1 will always be item 1 (in markup), no matter class or id.
  • @zero298, what I mean is if there's an internal id that could be used to identify uniquely some elements of my page and that cannot be changed, as the normal attributes.
  • OP is asking how to know that element 1 is element 1 without someone altering the id of that element.... Doubt this actually answers OPs question.