2011-11-07 7 views
1

私は関数に単語を置き換えるために.replaceWithを使用しようとしていますが、機能していません。問題は私が正しく機能しなかったことですが、それを書く方法はわかりません右。誰でも私を助けることができます(それはほんの少しです)。ありがとう。.replaceWith関数に置き換えます

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"> 
<html> 
<body> 

<script type="text/javascript"> 

var d=new Date(); 
var weekday=new Array(7); 
weekday[0]="Monday"; 
weekday[1]="Tuesday"; 
weekday[2]="Wednesday"; 
weekday[3]="Thursday"; 
weekday[4]="Friday"; 
weekday[5]="Monday"; 
weekday[6]="Monday"; 


</script> 


<script type="text/javascript"> 

$(document).ready(function($){ 
    $('div.Shipby').replaceWith(function(){ 
     return $("<div>").text("Orders placed now will ship " + weekday[d.getDay()]); 
    }); 
}); 

</script> 

    <div class="Shipby"> 
     Tomorrow. 
    </div> 
</body> 
</html> 
+1

これは、 'replaceWith'がどのように動作しているかではありません。 [ドキュメントを読む](http://api.jquery.com/replaceWith/)をご覧ください。 'document.write'を使うと非常に間違っています。 –

+0

*ドキュメント全体を上書きする 'document.write()'はありませんか? –

+0

@DavidThomas:そうだと思います。 – Blender

答えて

2

Blenderが言ったように、それはそれだけでtexthtmlを更新するために容易になるだろうように聞こえるが、あなたはreplaceWithを使用したい場合、あなたはこのようにそれを行うことができます。

ここ
$(document).ready(function($){ 
    $("div.Shipby").replaceWith(function(){ 
     return $("<div>").text("Orders placed now will ship " + weekday[d.getDay()]); 
    }); 
}); 

がjsFiddleです:http://jsfiddle.net/TbE6P/

+0

あなたは返品を忘れました。 – SLaks

+0

私はOPがこれでかなり混乱すると思う;)しかし、これは '.replaceWith()'の完全に有効な使い方です。 – Blender

+0

@SLaks:ありがとう、ただ気づいた。一定。 –

6

ちょうどtext()を設定します。

$('div.Shipby').text("Orders placed now will ship " + weekday[d.getDay()]); 

それともhtml()あなたの文字列にHTMLを含めた上で計画している場合:

$('div.Shipby').html("Orders placed now will ship " + weekday[d.getDay()]); 

document.write()を使用する必要はありません。

+0

+1:間違いなく最も簡単な解決策です。 –

関連する問題