Когда атрибуту задаёшь булево значение, функция его никак словить не может.
Эта функция не пашет:
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-значений?