Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2014, 16:53
Аспирант
Отправить личное сообщение для xmlns Посмотреть профиль Найти все сообщения от xmlns
 
Регистрация: 30.07.2013
Сообщений: 47

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

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

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

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

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

input.data("cached") == false

не работают.
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2014, 17:01
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

input.data("cached") === undefined
Ответить с цитированием
  #3 (permalink)  
Старый 22.05.2014, 17:12
Аспирант
Отправить личное сообщение для xmlns Посмотреть профиль Найти все сообщения от xmlns
 
Регистрация: 30.07.2013
Сообщений: 47

Спасибо, оказывается без кавычек надо было...
Ответить с цитированием
  #4 (permalink)  
Старый 22.05.2014, 18:05
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

я обычно так проверяю:
!input.data("cached")
Ответить с цитированием
  #5 (permalink)  
Старый 22.05.2014, 18:08
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

depp, а если там пустая строка?
Ответить с цитированием
  #6 (permalink)  
Старый 22.05.2014, 18:20
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

Octane,
ну так выражение !input.data("cached") как раз и проверяет на пустую строку, undefined и null. в отличие от input.data("cached") === undefined, которое проверяет только на undefined.
Ответить с цитированием
  #7 (permalink)  
Старый 22.05.2014, 18:24
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по видимости переменных. yiooxir Angular.js 3 31.10.2013 12:37
Как быстро проверить есть ли в массиве нужная строка? Почемучкин Общие вопросы Javascript 15 17.08.2012 20:19
Как проверить корректность поля e-mail? daniilino Общие вопросы Javascript 9 15.05.2012 16:50
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40