追加不是一个jQuery函数

4
在以下代码中,我想将test_div添加到被点击的元素中。但是,我收到了错误消息:TypeError:e.srcElement.appendis 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个回答

17

.append() 是 jQuery 的方法。你需要将 DOM 对象转换为 jQuery 对象才能使用 jQuery 方法:

 $(target).append(test_div);

4

如果你想使用JavaScript方法,可以使用appendChild()

target.appendChild(test_div);


1

您需要使用jQuery来完成这个操作。此外,您正在混合使用原生JavaScript和jQuery。另一种实现方式是:

$(document).ready(function() {

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

});

1

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

.append 是JQuery的等效方法。

这里是文档


“我已经尝试打印e.srcElement的类型,但它只显示object。”

使用console.log()输出您的调试消息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接