Хотел бы сохранить карту/хэш объектов DOM. Могут ли они служить ключевыми объектами? Если нет, то какие альтернативы, пожалуйста? Если есть лучшие способы - любезно зачислите их.Может ли объект DOM быть индексом/ключом в массиве Javascript?
ответ
Вы можете поместить что-либо в качестве ключа, но перед фактическим использованием оно всегда преобразуется в строку, и эта строка используется как ключ. Итак, если вы посмотрите, что производит domObject.toString()
, вы видите, что это не очень хороший кандидат. Если все ваши объекты dom имеют идентификатор, вы можете использовать этот идентификатор. Если нет, и вам по-прежнему нужен ключ на основе объекта DOM, вы, вероятно, могли бы использовать, например, атрибут _counter
с автоматическим счетчиком в фоновом режиме, добавляя новое уникальное значение в объект DOM, если _counter
еще не существует.
Не изобретайте пользовательские атрибуты. Для этого случая есть специальный префикс '' data-'(http://www.w3.org/TR/html5/elements.html#embedding-custom-non-visible-data-with-the-data-attributes) , – katspaugh
Нет, но вы можете установить атрибут в элементе DOM, который содержит число, которое вы бы указали как индекс в массиве с числовой индексацией.
window
уже поддерживает все объекты DOM в качестве свойств. Вместо того, чтобы поместить свои собственные ключи для каждого объекта DOM, попробуйте использовать объект окна или документа и методы, которые используют индекс, основанный на макете дерева DOM.
Вы не можете предположить, что макет DOM должен сохраняться между поиском. – katspaugh
@katspaugh действительная точка. –
Нет, поскольку объектные ключи являются строками.
Вам придется «сериализовать» свои объекты на id
или что-то еще, а затем выполнить поиск позже. Наверное, этого не стоит, в зависимости от вашей фактической цели.
Неточно. Но я думаю, вы хотите что-то вроде ниже. Вы можете делать с jquery
,
Метод .serializeArray()
создает массив объектов JavaScript, готовый к кодированию как строка JSON. Он работает с объектом jQuery, представляющим набор элементов формы. Эти элементы формы могут быть нескольких типов
см ниже ссылке: http://api.jquery.com/serializeArray/
-1 Это не имеет никакого отношения к вопросу – naugtur
Проще всего установить атрибут данных-на элементе вместо этого.
- 1. Может ли объект быть ложным?
- 2. Может ли объект JavaScript быть преобразован в строку встроенного CSS?
- 3. Детектирование если объект DOM может быть помещен в SPAN
- 4. Может ли объект быть полем?
- 5. Может ли Java-объект быть прототипом объекта JavaScript в Нашорне?
- 6. объект Javascript в массиве
- 7. Может ли Javascript быть загружен?
- 8. Может ли объект Javascript быть создан без кавычек вокруг ключа
- 9. Javascript DOM "this" Объект неверный
- 10. Сохранение ссылочных элементов DOM в массиве Javascript
- 11. Ширина элемента DOM может быть нецелым?
- 12. Может ли Javascript быть скриптовым в xcode?
- 13. Может ли javascript быть включен в JSP?
- 14. Может ли объект opengraph быть многостраничным?
- 15. Может ли динамический объект быть UIImageView
- 16. Может ли объект MagicMock быть повторен?
- 17. Объект Javascript в массиве Loop
- 18. связать объект javascript с DOM
- 19. Как различать объект DOM и объект JavaScript
- 20. Может ли объект домена быть таким же, как объект persistence?
- 21. Как определить, находится ли объект в массиве
- 22. Позиция в массиве DOM
- 23. Может ли корневой элемент HTML в DOM быть заменен в javascript
- 24. Может ли javascript быть встроенным с webpack?
- 25. Может ли этот JavaScript быть оптимизирован?
- 26. Может ли код Javascript быть скрытым?
- 27. Объект javascript, загружающий содержимое в DOM
- 28. Справочный объект в массиве в объекте javascript
- 29. Может ли смежные текстовые узлы в DOM быть объединены с Javascript?
- 30. Преобразования DOM-объект в JavaScript Object
Извините, но что? Не могли бы вы объяснить, что вы хотите знать, или ... как использовать вывод, если то, что вы хотите, возможно? –
Вместо ключа массива '[]', я думаю, вы имеете в виду свойство объекта '{}'. Массивы JavaScript индексируются численно, в то время как литералы объектов имеют свойства строки, но иногда используют синтаксис 'object [" propertyname "]' вместо 'object.propertyname' –
Мы не можем предложить альтернативы, пока не узнаем, что вы пытаетесь сделать. –