web-dev-qa-db-ja.com

jQueryでhtmlをロードして<body>に追加する方法は?

私は次を試しました:

$.load("Views/chatBox.html").appendTo('body') is not working!

TypeError: $.load is not a function 

[〜#〜] edit [〜#〜]:答えは1行のコードだけで十分であると思います

22
omg

コンテナを本体の下部に配置し、外部ページをそこにロードすることが必要なものではない理由を理解できませんか?

あなたが試すことができるのはこれです:

<script type="text/javascript">
    $(function() {
        $("#container").load("Views/chatBox.html",function(){
            $(this).clone().appendTo("body").remove();
        });
    });
</script>

しかし、このコードについて100%確信していない... ...)

8
Gavrisimo

いいえ、それらの答えはすべて、別のコンテナを持つことに依存しているため、正しくありません!

これを行う:

$.ajax({
    url: "your.html",
    success: function (data) { $('body').append(data); },
    dataType: 'html'
});
77
Rob Evans

代替ソリューション:

jQuery('#AppendToMe').append( jQuery('<div>').load(...) );

これにより、ロードしたものはすべて#AppendToMe要素に追加されます。

3
Kirill Fuchs

GaVrAのソリューションを試してみたところ、さらに簡単にできることがわかりました。

<script type="text/javascript">
    $(function() {
        $("#container").load("external.html").appendTo("body");;        
    });
</script>

AppentToは前のインスタンスを自動的に削除すると思いますか?おそらく私はここで何かを見逃していますか?

1
waffles