Ответ 1
Используйте not selector
$("div:not(#sale_wrap)")
Я хочу отключить цену для всех входных значений во всех div, кроме только одного div sale_wrap
. как я могу сделать исключение с jquery?
<div id="one_wrap">
<input type="checkbox" name="1" value="">
<input type="checkbox" name="1" value="">
</div>
<div id="two_wrap">
<input type="checkbox" name="2" value="">
<input type="checkbox" name="2" value="">
</div>
<div id="sale_wrap">
<input type="checkbox" name="3" value="">
</div>
JQuery
if($("div").attr("id") != "sale_wrap") {
t_balance;
} else {
var sale = t_balance*((100-window.discount_p)/100);
t_balance = sale;
}
Используйте not selector
$("div:not(#sale_wrap)")
Функция jQuery not()
может сделать это.
Чтобы выбрать все div, кроме div с id
из sale_wrap
:
$('div').not('#sale_wrap')
Затем вы можете перебирать div с помощью each()
.
В качестве примера:
#HTML
<p id="1">Some text in paragraph 1</p>
<p id="2">Some text in paragraph 2</p>
<p id="3">Some text in paragraph 3</p>
#JS
# turn background to blue for all 'p' except p with id=2
$('p').not('#2').each(function() {
$(this).css('background-color', 'blue');
});
Отметьте этот пример в JsFiddle.
Попробуйте использовать
if($('div').not('#sale_wrap'))
{
t_balance;
}
else
{
var sale = t_balance*((100-window.discount_p)/100);
t_balance = sale;
}
Просто добавьте немного больше информации. Можно использовать несколько not selector следующим образом:
$("div:not(#sale_wrap):not(.sale_class)");
или
$("div:not(#sale_wrap, .sale_class)");
или
$("div").not('#sale_wrap, .sale_class');
В качестве альтернативы:
$('div[id != "sale_wrap"]')