我使用以下代码,当我执行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);
在上一段代码中我收到错误:
index.html中的main.js:42 Uncaught TypeError:display.appendChild不是函数,它可以是什么?
我的显示如下
答案 0 :(得分:2)
您的display
变量是一个jQuery对象。它有一个.append()
方法,可以满足你的需要。
display.append(span);
如果您想使用JavaScript DOM函数.appendChild()
,则需要首先从显示中提取DOM元素:
display.get(0).appendChild(span);
答案 1 :(得分:2)
首先,检查文档(DOM)中是否存在#display
元素。
其次,jQuery中没有appendChild
方法,所以你应该使用:
display.append(span)
或者
$(span).appendTo(display);
否则,如果你想使用appendChild
,你可以使用:
display[0].appendChild(span);
或者使用$.get方法:
display.get(0).appendChild(span);