Javascript 为什么JSFIDLE不允许我访问document.body?

Javascript 为什么JSFIDLE不允许我访问document.body?,javascript,jsfiddle,Javascript,Jsfiddle,知道这是怎么回事吗 var p = document.createElement('p'); p.innerHTML = 'test'; document.body.appendChild(p); 因为还没有尸体 将JS设置为运行onDomready或onLoad。因为您的Javascript在文档准备好之前就已经运行了 在左侧,将下拉菜单切换到onDomready,您应该会表现良好 因为javascript是在主体之前加载的,所以document.body仍然为NULL。而是使用卸载方法

知道这是怎么回事吗

var p = document.createElement('p');
p.innerHTML = 'test';

document.body.appendChild(p);

因为还没有尸体


将JS设置为运行onDomready或onLoad。

因为您的Javascript在文档准备好之前就已经运行了

在左侧,将下拉菜单切换到onDomready,您应该会表现良好


因为javascript是在主体之前加载的,所以document.body仍然为NULL。而是使用卸载方法

window.onload = function() {
var p = document.createElement('p');
p.innerHTML = 'test';
document.body.appendChild(p);
}

JSFIDDLE here:

正如其他人指出的,但没有确切解释,您的JSFIDDLE配置将您的JavaScript代码放在左边的框架和扩展中,没有包装,因此,还没有解析,无法进行操作/遍历。让我感到奇怪的是,JSFIDLE实际上默认为onLoad-OP必须手动将JS配置更改为in,这几乎是在不修改JS的情况下造成这种情况的唯一可能的方法,还有一件不可能是意外的事情。FWIW,这里有一个DOM,但没有尸体。@FelixKling,够公平的。