-4

次のようなjQueryコードを試しました:

var a=$("<a>1</a>")
a=a.before("<b></b>")
a[0].outerHTML

そして、結果はまだ<a>1</a>、私が期待していたものです..まったく機能しない<b></b><a>1</a>ようです...before

===

が DOM の一部であるa.before場合、うまく機能することを理解しています。aしかし、 が DOM に挿入されておらず、前に( wrap ではなく)a何かを挿入する必要がある場合はどうすればよいでしょうか? それが私が使用した理由です。jQuery オブジェクトを DOM に挿入する前にその場で変更する方法についてアイデアを持っている人はいますか?aaa=a.before("<b></b>")

4

2 に答える 2

1

問題はa.before、元のセットを返すことです。これには、そのaに挿入したものだけが含まれますが、その前 (または後、または周囲) は含まれません。ダミー コンテナーを使用してみて、byを変更し、代わりに読み取ります。beforeprependinnerHTMLouterHTML

var a = $("<a>1</a>");
var x = $('<dummy/>').append(a);
x.prepend("<b></b>"); 
console.log(x[0].innerHTML);
于 2013-08-01T13:30:47.263 に答える