Не работает if .checked
Добрый день!
Подскажите, пожалуйста, почему не работает: <script type="text/javascript"> var che = document.getElementById("snyatlen1"); var che2 = document.getElementById("men1"); if(che.cheked == true){ che2.className="vib2" } else{ che2.className="vib1" } </script> <input type="checkbox" id="snyatlen1" /> <div class="vib1" id="men1"></div> |
Потому, что у тебя опечатка. Не cheked, а cheсked нужно)
|
qwe88,
потому что элементов ещё нет |
cheked/checked
ЗЫ и да, померяй местами js c html, как рони сказал |
Поставил, но все равно не работает
<input type="checkbox" id="snyatlen1" /> <div class="vib1" id="men1"></div> <script type="text/javascript"> var che = document.getElementById("snyatlen1"); var che2 = document.getElementById("men1"); if(che.checked == true){ che2.className="vib2" } else{ che2.className="vib1" } </script> |
<html> <head> <style> .vib1 { color: #f00; } .vib2 { color: #0f0; } </style> </head> <body> <input type="checkbox" id="snyatlen1" /> <div class="vib1" id="men1">Text</div> <script type="text/javascript"> document.getElementById("men1").className = document.getElementById("snyatlen1").checked ? "vib2" : "vib1"; </script> </body> </html> Что не работает? Если это по загрузке, будет работать, если при смене флажка, то не будет, нужно изменять стиль по щелчку еще. |
У меня ваш пример почему-то не работает.
А через if все-таки нельзя решить? |
|
Цитата:
|
qwe88,
Все там работает <html> <head> <meta charset="windows-1251" /> <style> .vib{background: yellow} .vib1{background: red} .vib2{background: green} </style> </head> <body> <input type="checkbox" id="snyatlen1" /> <div id="info"></div> <div class="vib" id="men1">foo</div> <script> c=5 stop=setInterval(function(){info.innerHTML="До изменения осталось "+(--c)+" секунд."}, 1000) var che = document.getElementById("snyatlen1"); var che2 = document.getElementById("men1"); setTimeout(function(){ if(che.checked == true){ che2.className="vib2" } else{ che2.className="vib1" } clearTimeout(stop) info.innerHTML="" delete c }, 5000) </script> </body> </html> Пока идет счетчик, ставь или снимай галку, все будет видно. |
if(che.checked == true), а кроме true еще что-то может быть? :)
|
Decode,
Спасибо, ваш вариант работает (правда без if, ну и фиг с ни). А почему тогда этот не работает? <input type="checkbox" id="snyatlen1" /> <div class="vib1" id="men1"></div> <div class="vib5" id="men5"></div> <script> var che = document.getElementById("snyatlen1"); var che2 = document.getElementById("men1"); var che3 = document.getElementById("men5"); che.onchange = function() { che2.className = this.checked ? "vib2" : "vib1"; }; if(che2.className="vib1"{ che3.className="vib9"; } else{ che3.className="vib5" } </script> |
qwe88,
14 строка что делает по вашему? |
рони,
Хотел, что бы он сделал так: Если у дива с айди men1 класс vib1, то делаем двиву men 5 класс vib9, в ином случае у men5 будет класс vib5 |
Цитата:
|
рони,
Подскажите, пожалуйста, как написать мою трактовку? |
qwe88,
поправьте синтасис 14 строка == а не = и если сравнение нужно в функции перенесите строку 12 в конец скрипта |
Постави, но не работает
<input type="checkbox" id="snyatlen1" /> <div class="vib1" id="men1"></div> <div class="vib5" id="men5"></div> <script> var che = document.getElementById("snyatlen1"); var che2 = document.getElementById("men1"); var che3 = document.getElementById("men5"); che.onchange = function() { che2.className = this.checked ? "vib2" : "vib1"; if(che2.className=="vib1"{ che3.className="vib9"; } else if(che2.className=="vib2"{ che3.className="vib77"; } }; </script> |
qwe88,
найдите нормальный редактор для кода var che = document.getElementById("snyatlen1"); var che2 = document.getElementById("men1"); var che3 = document.getElementById("men5"); che.onchange = function() { che2.className = this.checked ? "vib2" : "vib1"; if(che2.className=="vib1"){ che3.className="vib9"; } else che3.className="vib77"; }; |
Спасибо огромное!
Скобку упустил) А вы каким пользуетесь редактором? |
Часовой пояс GMT +3, время: 03:53. |