我有一些HTML结构如下:
<div class="ProductPriceRating">
<em>
<strike class="RetailPriceValue">$65.00</strike>
$45.00
</em>
</div>
我需要选择“$ 45.00”。我认为这样可行:
$('.ProductPriceRating strike').siblings().css('background','red');
但它没有
答案 0 :(得分:5)
您无法将样式应用于文本节点,您需要使用元素
包装它尝试
var node = $('.ProductPriceRating strike').get(0).nextSibling;
$(node).wrap('<span/>').parent().css('background','red');
演示:Fiddle
答案 1 :(得分:2)
您不能直接设置文本节点的样式,而是将其包装在以下范围和样式中:
<强> HTML 强>
<div class="ProductPriceRating">
<em>
<strike class="RetailPriceValue">$65.00</strike>
<span>$45.00</span>
</em>
</div>
<强>的jQuery 强>
$('.ProductPriceRating strike').siblings().css('background','red');
<强> Working Demo 强>
如果您无法更改HTML结构,可以尝试设置em
和strike
的样式:
$('.ProductPriceRating em').css('background','red');
$('.ProductPriceRating strike').css('background','white');