9

以下のHTMLとJavascriptを検討してください。スクリプトでは、タグをpタグに置き換えています。alert()関数がpタグの内容を返すことを期待していますが、代わりに、存在しなくなった元のタグの内容を返します。

新しい要素を参照するにはどうすればよいですか?

HTML:

<a href="">This is a link</a>

Javascript:

$(document).ready(function() {
    $("a").each(function() {
        $(this).replaceWith('<p>New Paragraph</p>');
        alert($(this).text());
    });
});
4

3 に答える 3

11

で直接行うことはできませんが.replaceWith()、個別に作成することはできます。これを試して:

$(document).ready(function() {
    $("a").each(function() {
        var p = $('<p>New Paragraph</p>');
        $(this).replaceWith(p);
        alert(p.text());
    });
});
于 2010-12-09T14:47:08.793 に答える
2

replaceAll代わりに、元のコンテンツの代わりに新しいコンテンツを返すメソッドを使用できます。

$(document).ready(function() {
  $("a").each(function() {
    alert($('<p>New Paragraph</p>').replaceAll($(this)).text());
  });
});
于 2010-12-09T14:53:30.493 に答える
0

これを試して:

alert($(this).replaceWith('<p>New Paragraph</p>').text());
于 2010-12-09T14:44:51.227 に答える