replaceWith()とhtml()の違い
- replaceWith()はタグとタグの中身内容を含めて置き換える
- html()はタグの中身内容だけを置き換える
例えば、置き換え前のコードは
1
2
3
<a id="js-bookmark-button-for-board-1" class="float-right" data-remote="true" rel="nofollow" data-method="post" href="/bookmarks?board_id=1">
<i class="far fa-star"></i>
</a>
replaceWith()
でaタグを含めて置き換えたらこうなる
1
2
3
<a id="js-bookmark-button-for-board-1" class="float-right" data-remote="true" rel="nofollow" data-method="delete" href="/bookmarks/28">
<i class="fas fa-star"></i>
</a>
一方で、html()
なら、aタグの中身だけが置き換えられる、つまり<i class="far fa-star"></i>
部分だけが置き換えられる。
1
2
3
4
5
<a id="js-bookmark-button-for-board-1" class="float-right" data-remote="true" rel="nofollow" data-method="post" href="/bookmarks?board_id=1">
<a id="js-bookmark-button-for-board-1" class="float-right" data-remote="true" rel="nofollow" data-method="delete" href="/bookmarks/28">
<i class="fas fa-star"></i>
</a>
</a>
二重のaタグ構造になってしまった。
だから今回はreplaceWith()
を使う。
This post is licensed under CC BY 4.0 by the author.