Класс изменения JQuery по заданному идентификатору
У меня есть несколько таблиц, например:
<table class="onion" id="12">
Когда щелкнул div с именем "Mark_Pre_Val", мне нужны таблицы с идентификаторами 4, 6, 12 и 21
изменить свой класс на "onionClick", и если один из них уже "onionClick", тогда не
измените класс.
Вот событие click:
$(".Mark_Pre_Val").click(function(){ });
Может ли кто-нибудь указать мне в правильном направлении, как это сделать?
Ответы
Ответ 1
$(".Mark_Pre_Val").click(function(){
$('#4, #6, #12, #21').removeClass('onion').addClass('onionClick');
});
Изменить: как указывали другие, идентификатор элемента не должен содержать только числа. Если вы выводите эти таблицы в цикле и используете идентификатор в качестве итератора, вы можете найти более элегантным использование index().
Ответ 2
Не помещайте идентификатор, начинающийся с номера, пожалуйста.
$(".Mark_Pre_Val").click(function(){
$("#4, #6, #12, #21").removeClass("onion").addClass("onionClick");
});
Ответ 3
$("#Mark_Pre_Val").click(function(){
$("#4,#6,#12,#21")
.not("onionClick")
.removeClass("onion")
.addClass("onionClick");
});
EDIT:
Ни один из вышеперечисленных ответов не будет работать, поскольку событие click никогда не будет запущено, если вы выберете класс .Mark_Pre_Val. Вы сказали, что ваш div был назван Mark_Pre_Val, поэтому вам нужно использовать # при выборе. Также... почему бы не использовать not() для немедленного фильтрации тех, у кого нет класса, который вы хотите изменить, затем удалить старый класс и, наконец, добавить новый класс?
Ответ 4
$('# 4, # 6, # 12, # 21'). toggleClass ('onionClick');