1

以下のコードでは、jQuery を使用して、"Going for" という言葉だけを "Highestbid:" に変更したいと考えています。私が知っている唯一の方法は、replaceWith次のようなものを作成するために使用すること$('#wp-bidcontainerleft').replaceWith('new word');ですが、div 内のすべてを置き換えているわけではないため、それは機能しません。

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

これを達成する最も簡単な方法は何ですか?

4

3 に答える 3

1

.contents()テキストのみの子要素も取得し、最初の子を置き換える必要があります

$('#wp-bidcontainerleft').contents().eq(0).replaceWith(document.createTextNode('Highest bid:'));
于 2012-11-14T10:06:59.057 に答える
0

こうやってみて、

$(function () {
    $('#wp-bidcontainerleft').each(function() {
        var text = $(this).text().replace('Going for', 'Highest bid:');
        $(this).text(text);
    });
});
于 2012-11-14T10:18:25.500 に答える
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/

于 2012-11-14T10:20:02.570 に答える