Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Возвращение имен классов (https://javascript.ru/forum/events/28562-vozvrashhenie-imen-klassov.html)

Tini2n 24.05.2012 19:22

Возвращение имен классов
 
Подскажите пожалуйста.

Каким способом я могу реализовать функцию, которая при нажатии на объект, будет возвращать мне имя класса этого объекта.

Например у меня есть 7 div'ов с именами классов 1,2,3,4,5,6 и 7.
Я хочу, чтоб при нажатии на каждый из них, мне выводилось имя его класса.

bes 24.05.2012 19:55

<body>
<style>
  .first {background: red}
  .second {background: green}
  .third {background: blue}
</style>

<div id="myDiv">
<div class="first">1</div>
<div class="second">2</div>
<div class="third">3</div>
</div>

<script>
myDiv.onclick = function (event) {
  event = event || window.event;
  target = event.target || event.srcElement;

  alert(target.className)
}
</script>


Имена классов с цифр не начинайте.

Tini2n 24.05.2012 22:46

Спасибо большое)

А почему с цифр нельзя?

bes 24.05.2012 23:01

Потому что так сделали, не я придумывал, и ещё не может начинаться с дефиса, за которым следует цифра.

Tini2n 24.05.2012 23:17

Спасибо, извиняйте за тупой вопрос

Tini2n 25.05.2012 00:10

Извините, конечно, что домываю, но что-то борода выходит...

Вот мой код. При нажатии на ссылку с классом "right" должен вызываться класс дива в котором эта ссылка расположена.
<body>

<style>
    .black {background-color:#000;
        border:1px solid black;}
    .white {background-color:white;
        border:1px solid black;}
    .empty {background-color:white;}
    .l {
        display:block;
        width:100px;
        height:100px;
        float:left;
        margin-right:10px;
        border-radius:50px;}
</style>


<div id="main">
<div class="l 1 black"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
<div class="l 2 black"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
<div class="l 3 black"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
<div class="l 4"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
<div class="l 5 white"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
<div class="l 6 white"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
<div class="l 7 white"><a class="left" href="#"><-</a>&nbsp<a href="#" class="right">-></a></div>
</div>
<script>

    $(".l a.right").click(function () {
            var cur = $('a').parent('className');
            alert(cur);
        });

</script>

</body>

bes 25.05.2012 10:29

У вас нет ни одного правильно записанного класса div.
<style>
  .divClass {background: green}
  .link {color: yellow}
</style>

<div class="divClass">
  <a class="link" href="#" onclick="alert(this.parentNode.className)">link</a>
</div>

Tini2n 28.05.2012 00:47

Спасибо


Часовой пояс GMT +3, время: 13:24.