Выбрать класс по которому кликнули

135
16 декабря 2020, 12:50

var a = function() { 
        $('.open-text').click(function () { 
            $('.open-block').css('display', 'block'); 
        }) 
    };

классов opеn-text много а открыть нужно именно по которому кликнули

Answer 1

$('.class').eq( 0 ) — первый элемент с таким классом...
$('.class').eq( 1 ) — второй элемент, и т.д.

А чтобы определить этот номер - использован $('.open-text').index(this) (он здесь сработает правильно при условии, что классов-text и классов-block одинаковое количество)

Здесь (this) - это элемент, на которой сработала функция (т.е. кликнутый)

$(document).on('click', '.open-text', function(){ 
  $('.open-text').removeClass('active'); 
  $('.open-block').hide(); 
 
  $(this).addClass('active'); 
  $('.open-block').eq( $('.open-text').index(this) ).show(); 
});
.open-block {margin: 10px; display: none;} 
 
.active {color: red;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
 
<button class="open-text">1111</button> 
<button class="open-text">2222</button> 
<button class="open-text">3333</button> 
 
<div class="open-block">1111</div> 
<div class="open-block">2222</div> 
<div class="open-block">3333</div>

READ ALSO
Почему Babel не компилирует код (Gulp + Webpack + Babel)?

Почему Babel не компилирует код (Gulp + Webpack + Babel)?

Использую связку gulp + wabpack(wabpack-stream) + babel 7

123
Не видит подключенный в main.js vue-resource

Не видит подключенный в main.js vue-resource

Я подключил в mainjs vue-resource

102
всплытие и перехват js

всплытие и перехват js

Скажите пожалуйста как сделать так, чтобы вместо eventtarget

142
Печать и снимок объекта

Печать и снимок объекта

Есть объект с идентификаторомdiscussions и кнопка

112