Ответ 1
Я дам ответ не-jQuery, просто для пинков и хихиканья.
this.hasAttribute("foo")
Документация: https://developer.mozilla.org/en/DOM/element.hasAttribute
Я хочу проверить, имеет ли элемент, который я нажимаю (этот), определенный атрибут, как условие в условии if. Можно ли сделать это с помощью JavaScript или jQuery?
Спасибо
Я дам ответ не-jQuery, просто для пинков и хихиканья.
this.hasAttribute("foo")
Документация: https://developer.mozilla.org/en/DOM/element.hasAttribute
В JavaScript все, что есть null
или undefined
(или даже пустая строка), неявно "ложно", поэтому вы можете сделать это (предполагая, что вы ссылаетесь на атрибут HTML с помощью jQuery):
if ($(this).attr('foo')) {
}
Кроме того, если вам нужно значение из атрибута, вы можете сделать это:
var foo;
if (foo = $(this).attr('foo')) {
// use "foo" in here
}
Вы имеете в виду что-то вроде этого? \
if ($.trim($(this).attr('attribute')) != '')
{ ... }
Если вы используете атрибут HTML, то getAttribute является единственным разумно надежным способом, отмечая, что он имеет причуды в IE.
Если вы сразу после свойства DOM, просто:
if (this.foo) {
...
}
вероятно, сделает. Тест возвращает false, если foo установлен на нуль (0), пустую строку, null, NaN или undefined. Таким образом, на самом деле это не говорит вам, обладает ли этот элемент этим свойством, только то, что пытается получить к нему доступ, возвращает значение false. Но это обычно достаточно.