Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Помогите пожалуйста правильно написать скрипт (https://javascript.ru/forum/events/32434-pomogite-pozhalujjsta-pravilno-napisat-skript.html)

lord2kim 16.10.2012 16:30

cyber, это для примера...

cyber 16.10.2012 16:34

raffx, вы хотите поменять класс для ссылки или для Li?

raffx 16.10.2012 16:40

Цитата:

Сообщение от cyber (Сообщение 210546)
lord2kim, не очень хорошо писать Js в атрибуте onclick

А какую альтернативу можно использовать?

raffx 16.10.2012 16:41

Цитата:

Сообщение от cyber (Сообщение 210554)
raffx, вы хотите поменять класс для ссылки или для Li?

Для ссылки.

cyber 16.10.2012 16:57

Цитата:

Сообщение от raffx (Сообщение 210556)
А какую альтернативу можно использовать?

-document.getElementById
-document.getElementsByClassName
-document.getElementsTagName
-document.querySelectorAll

cyber 16.10.2012 16:58

Цитата:

Сообщение от raffx (Сообщение 210557)
Для ссылки.

ну так он и не будет применяется к ней так как в this ссылка на tag li

raffx 16.10.2012 17:39

cyber, понял, буду выделять дочерний элемент (который всегда один). Все еще не работает :(
function showWork(name){
   var link = this.children[0];
   link.className = 'active';
}

lord2kim 16.10.2012 20:31

Цитата:

Сообщение от raffx (Сообщение 210570)
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, время: 11:50.