Помогите пожалуйста правильно написать скрипт
Привет. Помогите плиз разобраться с кодом. Есть такой html:
<a href="#" onclick="showWork(GTL)">GTL</a> Вот код JS: function showWork(name){ alert('work name is '+name); } Надо чтобы при клике написал: work name is GTL. Помогите пожалуйста правильно написать скрипт. |
ну GTL в кавычки возьмите :)
<a href="#" onclick="showWork('GTL')">GTL</a> <script> function showWork(name) { alert("work name is "+name) ; return false ; } ; </script> |
Hekumok,
Спасибо :) |
не хватает
return false; что бы отметить переход по ссылке. |
cyber, оке :)
|
cyber, понял, добавлю, спасибо.
А можно ли вдобавок к этому поменять класс тега <a>, с которого делался клик? Вроде должно быть что-то такое this.className="active"; но чего-то не работает :( |
raffx,
<!DOCTYPE HTML> <html> <head> <style> .red{ color:red; } .green{ color:green; } </style> </head> <body> <a href="#" class="red" >link</a> <script> var link = document.body.children[0]; link.onclick = function () { this.className = "green"; return false; }; </script> </body> </html> |
Цитата:
<a href="#" onclick="alert(this.className); showWork('GTL', this); alert(this.className);">GTL</a> <script> function showWork(name, href) { href.className = "abc"; alert("work name is "+name); return false; } </script> |
lord2kim, не очень хорошо писать Js в атрибуте onclick
|
cyber, вроде также делаю, но не работает.
Прошу прощения за назойливость, не могли бы указать на ошибку в полном коде. html <ul><li class="leftmenu" onclick="showWork('gtl')"> <a class="passive" href="#">GTL</a> </li> <li class="leftmenu" onclick="showWork('sotrudnichestvo')"> <a class="passive" href="#">Сотрудничество</a> </li> </ul> js function showWork(name){ var previous=document.getElementsByClassName('active'); for (var i = 0; i < previous.length; i++) { previous[i].className="passive"; } this.className = 'active'; } При клике на ссылку класс должен меняться на active, а при клике на другую ссылку, должен обратно меняться на passive. |
cyber, это для примера...
|
raffx, вы хотите поменять класс для ссылки или для Li?
|
Цитата:
|
Цитата:
|
Цитата:
-document.getElementsByClassName -document.getElementsTagName -document.querySelectorAll |
Цитата:
|
cyber, понял, буду выделять дочерний элемент (который всегда один). Все еще не работает :(
function showWork(name){ var link = this.children[0]; link.className = 'active'; } |
Цитата:
<ul><li class="leftmenu" onclick="showWork('gtl', this)"> <a class="passive" href="#">GTL</a> </li> <li class="leftmenu" onclick="showWork('sotrudnichestvo', this)"> <a class="passive" href="#">Сотрудничество</a> </li> </ul> <script> function showWork(name, href){ /*var previous=document.getElementsByClassName('active'); for (var i = 0; i < previous.length; i++) { previous[i].className="passive"; } this.className = 'active';*/ alert(href.childNodes[1].className); href.childNodes[1].className = "active"; alert(href.childNodes[1].className); } </script> <ul><li class="leftmenu"> <a class="passive" href="#">GTL</a> </li> <li class="leftmenu"> <a class="passive" href="#">Сотрудничество</a> </li> </ul> <script> var link = document.getElementsByTagName("ul")[0]; link.onclick = function () { alert(this.childNodes[1].className); this.childNodes[1].className == "passiv" ? this.childNodes[1].className = "active" : this.childNodes[1].className = "passiv"; alert(this.childNodes[1].className); return false; }; </script> |
Часовой пояс GMT +3, время: 12:37. |