这是本书之一(Ninja javascript)的例子。
我不确定为什么控制台会继续抱怨它无法附加到null ..
document.getElementById("results").appendChild(li);
是我看到错误的地方..我做错了什么?
整个代码如下:
<body>
this.assert = function assert(value, desc) {
var li = document.createElement("li");
li.className = value ? "pass" : "fail";
console.log("this is ", value);
console.log("that is ", desc);
console.log("that is ", li);
// console.log("that is ", className);
//console.log("that is ", results);
li.appendChild(document.createTextNode(desc));
document.getElementById("results").appendChild(li);
if ( !value ) {
li.parentNode.parentNode.className = "fail";
}
return li;
};
function useless(callback) {return callback(); }
var text = "Domo Arigato!";
assert(useless(function() {return text;}) === text,
"The useless function works! " + text);
</script>
<ul id="results"></ul>
更新:建议现在正常工作之后..谢谢大家
<script>
window.onload = function () {
function useless(callback) {return callback(); }
var text = "Domo Arigato!";
assert(useless(function() {return text;}) === text,
"The useless function works! " + text);
}
</script>
<ul id="results"></ul>
更新:还有一个问题,
assert(useless(function() {return text;}) === text,
为什么上面需要===文字?它的目的是什么? (我刚刚测试过没有===文本,它也有效..所以作者的目的是什么?)
答案 0 :(得分:1)