很抱歉,如果这是一个基本问题,但我被困住了。我想在以下代码中更改价格:
<body>
<div id="price">
<span class="title"> price</span>
$30
</div>
</body>
我试过了:
<script type="text/javascript">
$('#price').text('$31');
</script>
但当然它会消除跨度。我尝试了几种组合。但似乎没有任何效果。不幸的是,我不能在价格上添加一个类,这会让我的生活更轻松。有谁知道怎么做?
答案 0 :(得分:3)
contents()
返回包括文本节点在内的所有子节点。然后你只得到带有filter()
的文本节点,并且瞧。
$('#price').contents().filter(function (index) {
return this.nodeType == 3 && index == 2; // both conditions to make sure it's the correct node
}).replaceWith(' $31');
答案 1 :(得分:1)
如何使用RegExp替换如下:
var $price = $('#price'),
priceHTML = $price.html(),
newPrice = '$31';
$price.html(priceHTML.replace(/\$\d+/, newPrice));
答案 2 :(得分:0)
在30美元左右添加标签或跨度,然后更改它。
答案 3 :(得分:0)
尝试格式化HTML,如下所示:
<div id="priceContainer">
<span class="title">price</span>
<span id="price">$30</span>
</div>
和jQuery一样,真的:
<script type="text/javascript">
$("#price").text("$31");
</script>