Append不是函数jquery

时间:2016-07-12 14:48:00

标签: javascript jquery append

在以下代码中,我希望能够将test_div附加到单击的元素上。但是,我收到TypeError: e.srcElement.append is not a function的错误消息。

$(document).ready(function() {

    onclick = function (e) {
        var test_div = document.createElement("div");
        target = e.srcElement
        target.append(test_div);
        }

    $('#dialogue').on('click', onclick);

});

我已尝试打印出e.srcElement的类型,但它只是说object,这不是很有用。将元素附加到单击项目的正确方法是什么?

4 个答案:

答案 0 :(得分:13)

.append()是jquery方法。您需要将DOM对象转换为jquery对象以使用jquery方法:

 $(target).append(test_div);

答案 1 :(得分:4)

或者,您可以使用的javascript方法是appendChild()

target.appendChild(test_div);

答案 2 :(得分:1)

你需要使用jQuery。此外,您正在混合使用vanilla JavaScript和jQuery。另一种方法是:

$(document).ready(function() {

  $('#dialogue').on('click', function (e) {
    var test_div = $("<div />");
    $(this).append(test_div);
  });

});

答案 3 :(得分:1)

e.srcElement是一个DOM节点。将另一个元素附加到其中的正确方法是appendChild

.append是等效的JQuery方法。

Here是文档

“我尝试打印出e.srcElement的类型,但它只是说object

console.log()您的调试消息。