window.onload = function(){
var abbreviations = document.getElementsByTagName("abbr");
if (abbreviations.length < 1) return false;
var definitionlist = document.createElement("dl");
for(var i = 0;i < abbreviations.length; i++){
//create
var definitionlist_dt = document.createElement("dt");
var definitionlist_dd = document.createElement("dd");
//distribution
var key = abbreviations[i].lastChild.nodeValue;
var dtitle_text = document.createTextNode(key);
definitionlist_dt.appendChild(dtitle_text);
//alert(definitionlist_dt.innerHTML);
var definition = abbreviations[i].getAttribute("title");
var ddesc_text = document.createTextNode(definition);
definitionlist_dd.appendChild(ddesc_text);
//alert(definitionlist_dd.innerHTML);
definitionlist.appendChild(definitionlist_dt);
definitionlist.appendChild(definitionlist_dd);
alert(definitionlist.length);
}
var text_top = document.getElementsById("h1");
document.getElementsByTagName("body").insertBefore(definitionlist,text_top);
}
alert(definitionlist.length);definitionlist没有length属性,
document.getElementsById("h1");getElementById()
getElementsByTagName("body")得到的是个列表,
definitionlist应该是有元素了,查看definitionlist.children.length
不是那几行代码的问题,是最后那行,document.getElementsByTagName("body")得到的是数组,没有insertBefore方法
document.getElementsByTagName("body")[0].insertBefore(definitionlist, text_top);