Я возвращаюсь через элементы в DOM, ища элемент DOM, который соответствует элементу event.target. Каков наилучший способ найти event.target в DOM, а не просто ссылаться непосредственно на event.target? У элементов DOM есть определенный самоопределяемый уникальный идентификатор, который я могу использовать для их сравнения?DOM Element unique id
ответ
Для проверки равенства вы можете просто сделать это:
if (event.target === anotherElement) {
// anotherElement is event.target
}
Одна из причин, вы можете рекурсию, когда у вас есть уже что элемент в руке, заключается в том, чтобы проверить, является ли один элемент потомком другого элемента. Для этого вы можете использовать метод .contains
:
if (containerElement.contains(event.target) {
// event.target is a descendent of containerElement
}
спасибо, знаете ли вы, что оператор === на самом деле сравнивает в этом случае? –
В javascript оператор '===' при сравнении объекта возвращает true только в том случае, если объект сравнивается с ним. Например, '{a: 1} === {a: 1}' будет false, потому что это разные объекты, но 'var a = {b: 1}; var b = a; a === b' будет истинным, так как переменная b содержит одни и те же объекты. Если бы я написал javascript-движок, каждая переменная была бы указателем, и я бы сравнил адрес памяти. Вы можете прочитать это: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness –
Элементы DOM не имеют уникальных идентификаторов, единственных идентификаторов, которые они имеют, это тот, который вы определяете в своем html, для элементов html. Однако, если вы ищете отслеживание своих элементов DOM, используя какой-то ключ, я бы предложил работать с списком ключевых значений.
Таким образом, вы сможете отслеживать свои элементы в соответствии с их заданным ключом в списке.
Пожалуйста, обратитесь:
- 1. dom element id равенство
- 2. Прототип/Javascript DOM-Element ID как параметр
- 3. Dojo delegate to DOM Element ID
- 4. C generate unique id
- 5. Auto update unique id
- 6. python unique id генерация
- 7. JavaScript DOM remove element
- 8. "Null" HTML DOM Element?
- 9. DOM Element Prototytpe
- 10. Удалить ошибку DOM Element
- 11. Augment a DOM element
- 12. Ember Наблюдайте DOM Element
- 13. Доступ к JQuery DOM Element
- 14. Производительность между doc.querySelectorAll ('# id element') vs doc.querySelector ('# id'). QuerySelectorAll ('element');
- 15. FileReader readAsBinaryString() изображения DOM Element
- 16. Jquery li element id
- 17. Element id от javascript
- 18. Uitableview cell custom unique ID
- 19. Firebase set new unique ID
- 20. Создать C# Long Unique ID
- 21. jquery selectors get unique id
- 22. mysql sphinx generate unique id
- 23. jquery - fancybox inline unique id
- 24. JQuery найти следующий элемент DOM по id, где Id не UNIQUE
- 25. extract DOM element with cherrio
- 26. jQuery - возврат $ (this) DOM Element
- 27. Angular.js $ scope и dom element
- 28. tbody tag element и DOM
- 29. Raphael get и Element по ID ID
- 30. Selenium not finidng element id
Нет, нет встроенного удостоверения личности. Javascript является объектно-ориентированным, сам элемент является его собственным уникальным идентификатором. – Barmar
Зачем вам нужно возвращаться? 'event.target' - это элемент, зачем его искать? – Barmar
это не так, как это работает :) Даже объекты должны иметь какой-то способ идентификации themsleves, будь то ячейка памяти или хэш или уникальный идентификатор, что-то уникальное доступно! –