使用jQuery更改div中的特定文本

时间:2012-11-14 10:05:06

标签: jquery

在下面的代码中,我想使用jQuery只将“Going for”改为“最高出价:”。我知道如何使用replaceWith生成这样的内容的唯一方法是:$('#wp-bidcontainerleft').replaceWith('new word');但这不起作用,因为我没有替换div中的所有内容。

<div id="wp-bidcontainerleft">
  Going for
  <br>
  $101.00
</div>

实现这一目标的最简单方法是什么?

3 个答案:

答案 0 :(得分:1)

您必须获取.contents(),它还会检索纯文本子元素,然后替换第一个子元素

$('#wp-bidcontainerleft').contents().eq(0).replaceWith(document.createTextNode('Highest bid:'));

答案 1 :(得分:0)

试试这种方式,

$(function () {
    $('#wp-bidcontainerleft').each(function() {
        var text = $(this).text().replace('Going for', 'Highest bid:');
        $(this).text(text);
    });
});

答案 2 :(得分:0)

您可以使用contents方法:

$('#wp-bidcontainerleft').contents().each(function(i, v){
    if (i === 0) {
        this.textContent
        ? this.textContent = 'new word' // non-ie browsers
        : this.innerText = 'new word';  // crazy ie
        return false // stop executing each method
    }
})

http://jsfiddle.net/DPVTg/