1

この私のコード

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

スパンの背景が赤くなりましたが、背景を赤くするには、li 全体が必要です

<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 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>
4

2 に答える 2

3

最も近いものを使用:

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

または持っています

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

しかし、私の意見では、最初のものはより明確であり、中間の潜在的に重いコレクションを使用していません。

于 2013-07-02T10:15:55.070 に答える
3

親を選択するには:

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

親が必要な場合li.parent('li');

于 2013-07-02T10:15:59.867 に答える