Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как проверить содержимое data() на пустоту? (https://javascript.ru/forum/jquery/47405-kak-proverit-soderzhimoe-data-na-pustotu.html)

xmlns 22.05.2014 16:53

Как проверить содержимое data() на пустоту?
 
Добрый день.
Кто знает, как проверить, есть ли у элемента сохранение в data()? Пример:
var input = $(this);
...
input.data("cached", ajaxResult)

Записали результат аякс запроса. Далее где-то на странице надо проверить, был ли уже откеширован этот запрос.

Варианты типа:
input.data("cached") == ''

input.data("cached") == 'undefined'

input.data("cached") == 'NULL'

input.data("cached") == false

не работают.

Octane 22.05.2014 17:01

input.data("cached") === undefined

xmlns 22.05.2014 17:12

Спасибо, оказывается без кавычек надо было...

depp 22.05.2014 18:05

я обычно так проверяю:
!input.data("cached")

Octane 22.05.2014 18:08

depp, а если там пустая строка?

depp 22.05.2014 18:20

Octane,
ну так выражение !input.data("cached") как раз и проверяет на пустую строку, undefined и null. в отличие от input.data("cached") === undefined, которое проверяет только на undefined.

Octane 22.05.2014 18:24

Тут надо уточнять, вдруг ТСу нужен случай, когда значение не было установлено и изначально не было атрибута data-cached, тогда нам нужен именно undefined, во всех остальных случаях dataset возвращает строку.


Часовой пояс GMT +3, время: 23:18.