尝试创建新元素时出错

Error while trying to create new element

本文关键字:元素 出错 创建 新元素      更新时间:2023-09-26

我使用以下代码,当我执行 appendChild 时出现错误

$('#tra').on('click', function() {
    transpile(source.val())
// ...
var display = $('#display');
diff.forEach(function(part) {
 var span = document.createElement('span');
        span.style.color = color;
        span.appendChild(document
            .createTextNode(part.value));
        display.appendChild(span);

在最后一个代码中,我得到错误:

main.js:42 未捕获的类型错误:display.appendChild 不是一个函数,它可以是什么?

在索引中.html我的显示如下

首先,检查文档中是否存在#display元素(DOM)。

其次,jQuery中没有appendChild方法,所以你应该使用:

display.append(span)

$(span).appendTo(display);

否则,如果您无论如何都想使用 appendChild,则应使用:

display[0].appendChild(span);

或者使用 $.get 方法:

display.get(0).appendChild(span);

你的display变量是一个jQuery对象。它有一个.append()的方法,应该可以满足你的需求。

display.append(span);

如果你想改用 JavaScript DOM 函数.appendChild(),你需要先从显示中提取 DOM 元素:

display.get(0).appendChild(span);