Присвоение атрибута
Всем привет. Скажу сразу, что я на самой первой ступени изучения js и DOM. В процессе обучения пилю сайт. Нужна ваша помощь в таком вопросе. Есть элемент А(aside), имеющий два состояния, в первом из которых у него есть атрибут visibility, в другом его нет. Так же, есть элемент Б(tm-section). Задача состоит в том, чтобы элемент Б при первом состоянии элемента А приобретал padding-left со значением 100px. То что я накатал, конечно, не работает:
var nomenu = document.getElementsByTagName('aside'); var contentPaddingLeft = document.getElementsByClassName(['tm-section']); if(nomenu.getAttribute('visibility') === true) { console.log("No padding"); } else { contentPaddingLeft.setAttribute(['padding-left'], '100px'); }; |
советую использовать свойство display (у него лучше поддержка браузерами) и писать такие темы в раздел "Элементы интерфейса" или в "Общие вопросы javascript". Если бы вы написали в одних из этих разделов то ответ бы получили ещё вчера.
Вы печатаете в консоль и должны были увидеть там 2 ошибки. Они говорят вам о том, что переменные nomenu и contentPaddingLeft являются коллекциями, а вам нужен в этих коллекциях определённый элемент (нулевой скорее всего) Также интересные вещи происходят при сравнении: метод getAttribute выдаст вам строку. Причем выдаст то, что записано в атрибуте элемента. Т.е. для элемента <aside visibility="nbufgd"></aside> выдаст строку nbufgd А дальше идёт сравнение строки с булевым значением true, и у меня для вас плохие новости: alert('true' === true) alert('true' == true) короче говоря ваш скрипт должен был выглядеть примерно так: var nomenu = document.getElementsByTagName('aside')[0]; var contentPaddingLeft = document.getElementsByClassName(['tm-section'])[0]; if(nomenu.getAttribute('visibility') === 'true') { console.log("No padding"); } else { contentPaddingLeft.setAttribute(['padding-left'], '100px'); }; |
Спасибо, огромное! К сожалению не заработало, буду дальше колдовать))
|
Цитата:
Либо ссылку на тестовую демо страницу, Либо на заливку демки в песочницу |
то чувство когда чел не юзает MVC))))) и состояние хранит во вьюхе
|
Часовой пояс GMT +3, время: 06:34. |