这是我的代码
$("#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>
答案 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')
;