jQuery append()不追加

ba3*_*a3a 5 html javascript jquery append

我有这样的html结构:

<div id="things">
    <div class="whatever">
        <div class="frame">content</div>
        <div class="frame">content</div>
        <div class="frame">content</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我得到了带有JQuery脚本的JS,该脚本可以在该页面的单击按钮上工作:

function intsaver(){

    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST", "intsaver.php", true);
    var tosf = $('<div></div>');
    $("#things").find(".frame").each(function(){
        tosf.append($(this).innerHTML);
        alert(''+tosf);
    });
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("data=" + tosf.innerHTML);
}
Run Code Online (Sandbox Code Playgroud)

我可以this在调试器中看到内容,它们正是我要的内容。但是tosf仍然存在,undefined并且在服务器端,我可以接收到undefined

我尝试了一些方法,例如,我附加了this自己。结果,div从page中消失了,但tosf仍然存在undefined

我相信我犯了一些明显的错误。

vik*_*ngh 4

改变

tosf.append($(this).innerHTML);
Run Code Online (Sandbox Code Playgroud)

 tosf.append($(this).html());//$(this) a jQuery object
Run Code Online (Sandbox Code Playgroud)

或者

tosf.append(this.innerHTML);//this a dom object
Run Code Online (Sandbox Code Playgroud)

$(this)是 a jQuery objectnot adom object没有属性。innerHTML请使用.html()