実際のクローンを作成して、Webページに要素を追加する必要があります。
console.log(($this));
このようなものを与えます:
<div id="id" class="class" style="style">
<p style="style">World</p>
</div>
「World」の前に、まったく同じ構造の「Hello」という単語を追加したい
attr()またはhtml()で試しましたが、すべての属性を置き換えます。
ワンライナーftw:
$("#id > p").prepend("Hello ");
var currentcontent=$("#id").find("p").text();
$("#id").find("p").text("Hello"+currentcontent);
これは、その特定のID(Id]が一意である1つのDIVに対してのみ実行されます)
サンプル: http: //jsfiddle.net/trdxg/2/
同じ構造を持つn個の要素に対してこれを実行する場合は、jQueryセレクターを変更して。を使用できますclass
。
$(function(){
$("div.class").each(function(index,item){
var item=$(this);
var currentcontent=item.find("p").text();
item.find("p").text("Hello"+currentcontent);
});
});
サンプル: http: //jsfiddle.net/trdxg/7/
あなたは「実際のクローンを作成したい」と言っています。$this
クローンの内容を複製および変更する方法は次のとおりです。
var $clone = $this.clone();
$clone.find('p').text(function(i, oldText){
return "Hello " + oldText;
});
$clone.appendTo('#someContainer'); // now put the copy somewhere else
編集:クローンを作成するときは、同じIDを持つ複数の要素を使用したくないことに注意してください。例のためにそこに入れたように見えますid="id"
が、それでも指摘する価値があります。
$('#id > p').text(function(i,oldValue){
return "Hello " + oldValue;
});
var $hello = $(("#id > p")).clone();
$hello.text("Hello");
$hello.prependTo($("#id"));
もちろん、必要に応じて:firstまたは:first-childセレクターを使用して、中間結果を変数または1行のすべてに割り当てることができます)