0

我在一个跨度类“price-red”的 div“price”中有一个 грн 文本

    <div class="price">

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
    <td width="190"><span class="price-text">Цена для вас:</span></td>
    <td></td>
    <td></td>
</tr>
<tr><td colspan="3" height="10"></td></tr>
<tr>
    <td><nobr><span class="price-red"><b>299 грн.</b></span></nobr></td>
    <td></td>
    <td></td>
</tr>
</table>
</div>

css

.price-red{
font-family: Arial, Helvetica, sans-serif;
font-size: 60px;
text-transform: none;

}

我需要用 jquery 找到它并将字体从 60px 更改为 40px 仅用于“грн”所以我尝试了这个:

<script>
$(document).ready(function(){
  $('span.price-red:contains("грн")').css('font-size', '40px');
});
</script>

文本299 грн。由 php 生成,如下所示:

<td><?php if (!empty($special)){ ?><span class="price-red">Sale!</span><?php }else{ ?><nobr><span class="price-red"><b><?php echo $price; ?></b></span></nobr><?php } ?></td>
    <td><?php if (!empty($special)){ ?><span class="price-red"><b><?php echo $special; ?></b></span><?php } ?></td>
    <td></td>
</tr>

回答

   $(document).ready(function(){
$('span.price-red:contains("грн")').html(function () {
    return this.innerHTML.replace("грн", "<span style='font-size:40px'>грн</span>")
});
});
4

3 回答 3

2

如果您只想更改 rph,您可以使用 html() 执行此操作并使用 span 包装 rph

$('span.price-red:contains("грн")').html(function () {
    return this.innerHTML.replace("грн", "<span style='background:blue;font-size:40px;'>грн</span>")
});

演示

于 2013-10-14T12:33:02.383 回答
1

你的代码看起来不错。问题可能是字符编码。如果您的 jQuery 代码和 HTML 放在不同的文件中,它们可能具有不同的编码。
要对其进行测试,请尝试将 span 内容替换为一些标准字母,例如“rph”,并查看:contains选择器是否适用于它们。

于 2013-10-14T12:27:29.097 回答
0
$(document).ready(function(){
  $('.price span.price-red:contains("грн")').css('font-size', '40px');
});

参考包含选择器

于 2013-10-14T12:24:43.923 回答