如何将类添加到父元素

时间:2013-07-02 10:15:06

标签: javascript jquery

这是我的代码

$("#AllProducts li id:contains('" + serial + "')").addClass("backRed");

我的跨度背景变红了,但我需要我的全部背景红色

<li class="ui-draggable" value="301" style="display: list-item;">
<id>ID:301</id>
<br>
14k Gold Hebrew Name Necklace
<br>
Serial:( 101-01-001-01)
<br>
DefaultCat:( 313)
</li>

一切正常,但是任何人都知道为什么这个产品也得到了红色?他的li不是303但是defaulcat是303但是我检查了$(“#AllProducts li id:contains()...而不是整个li

<li class="ui-draggable backRed" value="1163" style="display: list-item;">
<id>ID:1163</id>
<br>
Personalized Double Thickness Silver Name Necklace
<br>
Serial:( 101-01-073-04)
<br>
DefaultCat:( 303)
</li>

2 个答案:

答案 0 :(得分:3)

使用closest

$("#AllProducts li span:contains('" + serial + "')").closest('li')
     .addClass("backRed");

has

$("#AllProducts li").has("span:contains('" + serial + "')")
      .addClass("backRed");

但是我认为第一个更清晰,并且没有使用中间可能很重的集合。

答案 1 :(得分:3)

选择父使用:

$("#AllProducts li span:contains('" + serial + "')").parent().addClass("backRed");

如果您希望父li使用.parent('li');