Я хотел бы проверить, было ли применено значение данных jQuery для объекта. Например, код в другом месте может присвоить данные объекта:Правильный способ проверить конкретное значение .data() в объекте jQuery?
$myObject.data('hello','world');
В другом месте, я хочу, чтобы проверить, если значение придавалось свойство данных привета.
Каков правильный способ справиться с этим? .hasData
казался очевидным выбором, но, похоже, не работает, как «hasClass», поскольку вы не можете передать ему определенное имя элемента данных.
Итак, вы бы использовали что-то вроде 'if (typeof $ myObject.data ('hello') ===" undefined "))'? Это должно работать, но кажется «un-jQuery-ish»;) –
@DA. Для вашего запроса нет метода «jQuery-ish». Вы можете написать плагин, если хотите. Все, что вам нужно, это эта информация: 1. После присвоения значения с помощью '.data()', элемент ** DOM ** получает свойство, имя которого равно '$ .expando'. 2. Это свойство, например «jQuery1710979685063056744», содержит идентификатор. 3. Этот идентификатор, например. «29» соответствует ключу в «$ .cache», например. '$ .cache [29]'. Данные хранятся в '$ .cache [29] .data'. –