Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.08.2014, 12:09
Новичок на форуме
Отправить личное сообщение для Kenya-West Посмотреть профиль Найти все сообщения от Kenya-West
 
Регистрация: 28.06.2014
Сообщений: 8

Boolean у атрибутов
Когда атрибуту задаёшь булево значение, функция его никак словить не может.
Эта функция не пашет:
function a1 () {d = document.createElement('div');
d.setAttribute("mainQ", false);}
function a2 () {if (this.getAttribute("mainQ") == false) {WinJS.log('сработало')}}


А если вместо false написать 0, то работает:
function a1 () {d = document.createElement('div');
d.setAttribute("mainQ", "0");}
function a2 () {if (this.getAttribute("mainQ") == false) {WinJS.log('сработало')}}


Чем объяснить это дер'мо? Погрешностью boolean-значений?
Ответить с цитированием
  #2 (permalink)  
Старый 08.08.2014, 12:12
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Kenya-West
Чем объяснить это дер'мо? Погрешностью boolean-значений?
тем что атрибуты всегда имеют строковой тип, и все что в них помещается, переводится в строку... в реальности вызов .setAttribute("mainQ", false) задаст атрибут со значением mainQ="false"
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 08.08.2014, 12:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Потому что атрибут всегда (кроме старых IE) является строкой.
alert('false' == false)
Ответить с цитированием
  #4 (permalink)  
Старый 08.08.2014, 12:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Kenya-West,
курите доки
Цитата:
атрибуты:
Могут быть только строками.
http://learn.javascript.ru/attribute...трибуты
Ответить с цитированием
  #5 (permalink)  
Старый 08.08.2014, 12:47
Новичок на форуме
Отправить личное сообщение для Kenya-West Посмотреть профиль Найти все сообщения от Kenya-West
 
Регистрация: 28.06.2014
Сообщений: 8

Спасибо всем! Покурю.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему jQuery не обрабатывает элементы со значением атрибутов "nodeType" ercling jQuery 1 08.01.2014 22:10
как подключить фильтр к гриду? remember_me ExtJS 3 17.07.2013 16:04
непонятно про приведение null к boolean udav Общие вопросы Javascript 8 27.02.2012 05:50
Поиск и чтение атрибутов в XML Armen Общие вопросы Javascript 4 12.03.2011 22:20
Использование нестандартных атрибутов. VJiK Общие вопросы Javascript 3 04.12.2009 02:03