У меня есть простая страница с множеством элементов с тем же классом.JQuery toggleClass not firing
Когда кнопка нажата в одном из элементов, я хочу применить класс ко всем другим элементам, которые эффективно уменьшают их, используя непрозрачность.
Это то, что я пытаюсь, но это не добавляет классы:
CSS:
.act { width:100px; border:1px solid green; padding:20px; }
.actDim { opacity:0.5; }
HTML:
<div class="act actID1">
<button class="btn btn-success enquireAct" id="1">Click</button>
</div>
<div class="act actID2">
<button class="btn btn-success enquireAct" id="2">Click</button>
</div>
<div class="act actID3">
<button class="btn btn-success enquireAct" id="3">Click</button>
</div>
JQuery:
$(document).on('click', '.enquireAct', function() {
var actID = $(this).attr('id');
$('[class^="actID"]').removeClass('actDim'); // remove from all classes to start with
$('[class^="actID"]').not('.actID' + actID).addClass('actDim'); // add to everything but this
});
Есть ли лучший способ сделать это?
есть два класса по каждому элементу акта и actID *, я думал легче игнорировать тот, который я делал так –
, так что в основном этот ответ неверен, так я говорю –
@DarrenSweeney Разве это не то, чего вы пытаетесь достичь? http://jsfiddle.net/yJ7Jd/ – undefined