在以下代码中,我希望能够将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
,这不是很有用。将元素附加到单击项目的正确方法是什么?
答案 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()
您的调试消息。