jquery如果div不是id

时间:2011-04-27 12:21:45

标签: jquery

我希望将价格降低到所有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;
}

5 个答案:

答案 0 :(得分:59)

使用not selector

$("div:not(#sale_wrap)")

答案 1 :(得分:10)

jQuery not()函数可以执行此操作。

要选择除id sale_wrap的div之外的所有div:

$('div').not('#sale_wrap')

然后,您可以使用each()循环显示div。

举个例子:

#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');
});

查看this example on JsFiddle

答案 2 :(得分:2)

尝试使用

if($('div').not('#sale_wrap'))
{
  t_balance;
} 
else
{
  var sale = t_balance*((100-window.discount_p)/100);
  t_balance = sale;
}

答案 3 :(得分:0)

可替换地:

$('div[id != "sale_wrap"]')

答案 4 :(得分:0)

只是添加更多信息。 可以像这样使用多个not selector

$("div:not(#sale_wrap):not(.sale_class)");

$("div:not(#sale_wrap, .sale_class)");

$("div").not('#sale_wrap, .sale_class');