在下面的代码中,我想使用jQuery只将“Going for”改为“最高出价:”。我知道如何使用replaceWith
生成这样的内容的唯一方法是:$('#wp-bidcontainerleft').replaceWith('new word');
但这不起作用,因为我没有替换div中的所有内容。
<div id="wp-bidcontainerleft">
Going for
<br>
$101.00
</div>
实现这一目标的最简单方法是什么?
答案 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
}
})