$(document).ready(function() {
    $("a:last").on("click", function(event) {
        event.preventDefault();
        var url = $("a:last").attr("href");
        var page = url.slice(-2).trim();
        var newDiv = document.createElement("div");
        $(newDiv).addClass("content");
        $(newDiv).addClass(page);
        $(newDiv).load(url);
        document.getElementById("main").appendChild($(newDiv));
    });
});


我想创建一个新的div并将一些内容加载到其中,然后将其附加到“ main” div上,但是出现TypeError:


  Node.appendChild的参数1不实现接口Node。


我已经有一个id="main"的div,为什么不能在其上附加新的div?

最佳答案

基本上appendChild()需要一个node对象作为其参数,但是这里您要传递一个jquery对象。您可以通过传递节点对象来修复它,

document.getElementById("main").appendChild(newDiv);


由于使用的是jquery,因此可以使用其自己的append()函数,

$(document).ready(function() {
    $("a:last").on("click", function(event) {
        event.preventDefault();
        var url = $("a:last").attr("href");
        var page = url.slice(-2).trim();
        var newDiv = $("<div>");
        newDiv.addClass("content");
        newDiv.addClass(page);
        newDiv.load(url);
        $("#main").append(newDiv);
    });
});

10-05 21:42