Имя: Пароль:
IT
Веб-мастеринг
Пользовательский JS для Оперы
0 PuhUfa
 
30.11.12
12:16
На сайте есть конструкция: <dl id="userinfo_extra">...</dl>
Нужно этот блок или просто не отображать или обернуть в spoiler
Пробовал писать в JS:
alert('1');
if (document.getElementById('userinfo_extra') !== null){
alert('2');
var post_list = document.getElementById('userinfo_extra');
alert(post_list);
post_list.innerHTML='12345';
document.getElementById("userinfo_extra").innerHTML = '<p><strong><hr></strong></p>';
}else{
alert('3');
alert(document.getElementById('userinfo_extra'));
}

Выскакивают сообщения: 1, 3, null

Пробвол так:
(function(){
alert('1');
window.addEventListener('BeforeEvent.DOMContentLoaded', function()
{
  var elem = document.getElementByID('userinfo_extra');
  elem.style.display = 'none';
  alert('2');
}, true);
})();

Поучаю только сообщение: 1
В JS, мягко говоря, не силен, подскажите что я не так делаю.
1 kokamoonga
 
01.12.12
14:07
(0) http://habrahabr.ru/post/61835/

сдается мне дело в этом:

"addEventListener

window.opera.addEventListener(name, handler, capture) совместима по интерфейсу с window.addEventListener, но поддерживает дополнительные события. Не буду описывать все, самыми важными являются «BeforeEvent.type» и «AfterEvent.type», где вместо «type» нужно подставить имя события («DOMContentLoaded», «click», «load», …)"
2 Jaap Vduul
 
01.12.12
15:07
Тут проще не JS пользовательский, а CSS использовать:
#userinfo_extra
{
  display: none;
}

А по сабжу - вот ошибка: "!=="
см. http://en.wikibooks.org/wiki/JavaScript/Operators#Comparison_operators
3 kokamoonga
 
01.12.12
15:35
(2) насчет CSS согласен.

а вот по поводу "!==" не понял. мне казалось что в js сравнение null === null даст true, getElementById возвращает null если ничего не находит. соответственно  не могу понять логики.


другое дело что можно просто

if(document.getElementById('userinfo_extra')) {}

но сути это не меняет
4 PuhUfa
 
03.12.12
08:12
(1) воторой пример как раз по аналогии с хаброй и сделан (в самом низу, на хабре, типовой скрипт). Ни opera.addEventListener ни window.addEventListener у меня почему то не заводятся.
(2) спс. почитаю про CSS
5 kokamoonga
 
03.12.12
17:07
(4) >> воторой пример как раз по аналогии с хаброй и сделан (в самом низу, на хабре, типовой скрипт). Ни opera.addEventListener ни window.addEventListener у меня почему то не заводятся.

прямо интересно стало. не то чтобы оно мне сильно нужно, оперой не пользуюсь, но оч интересно. у меня тоже не заводится. наверно нужно совершить какое-то колдунство:)
Независимо от того, куда вы едете — это в гору и против ветра!