javascript DOM编程艺术--显示缩略语列表

来源:互联网 发布:淘宝如何设置拍下立减 编辑:程序博客网 时间:2024/06/05 16:53
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>
Explaining
</title>
<link rel="stylesheet" media="screen" href="style/typo.css"/>
</head>
<body>
<h1>What is the Document Object Model?</h1>
<p>
The <abbr title="World wide Web Consortium">W3C</abbr>defines the <abbr title="Onject Model">DOM</abbr>as:
</p>
<blockquote cite="http://www.w3.org/DOM/"><p>
A platform and language-neutral interface that will allow programs
and script to dynamically accrss and updape the 
content,structure and style of documents.
</p>


</blockquote>
<p>It is an<abbr title="Application Programming Interface">API</abbr>
that can be used to navigate<abbr title="HyperText Markup">HTML</abbr>
and <abbr title="eXtensible Markup Language">XML</abbr>
document.
</p>
<script src="script/addLoadEvent.js"></script>  
<script src="script/display.js"></script> 
</body>

</html>







function displayAbbreviations(){
if(!document.getElementsByTagName||!document.createElement||!document.createTextNode)return false;
var abbre=document.getElementsByTagName("abbr");
if(abbre.length<1)return false;
var defs=new Array();
for(var i=0;i<abbre.length;i++){
var current_abbre=abbre[i];
var defin=current_abbre.getAttribute("title");
var key=abbre[i].lastChild.nodeValue;
defs[key]=defin;
}
var dlist=document.createElement("dl");
for(key in defs){
var defin=defs[key];
var dtitle=document.createElement("dt");
var dtitle_text=document.createTextNode(key);
dtitle.appendChild(dtitle_text);
var ddesc=document.createElement("dd");
var ddesc_text=document.createTextNode(defin);
ddesc.appendChild(ddesc_text);
dlist.appendChild(dtitle);
dlist.appendChild(ddesc);


}
var header=document.createElement("h1");
var header_text=document.createTextNode("Abbreviations");
header.appendChild(header_text);
document.body.appendChild(header);


document.body.appendChild(dlist);
}
addLoadEvent(displayAbbreviations);





function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!='function'){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}


}




body{
font-family: "Helvetica","Arial",sans-serif;
font-size:10pt;
color:red;
}
abbr{
text-decoration: none;
border:0;
font-style:normal;
}









function displayCitations(){
if(!document.createElement||!document.getElementsByTagName||!document.createTextNode)return false;
//取得所有引用
var block=document.getElementsByTagName("blockquote");
//遍历引用
for(var i=0;i<block.length;i++){
//如果没有cite,继续循环
if(!block[i].getAttribute("cite"))continue;
//报错cite
var url=block[i].getAttribute("cite");
//引用中的所有节点
var blockElement=block[i].getElementsByTagName("*");
//如果没有元素节点,继续循环
if(blockElement.length<1)continue;
//取得最后一个节点
var elem=blockElement[blockElement.length-1];
//创建标记
var link=document.createElement("a");
var link_text=document.createTextNode("source");
link.appendChild(link_text);
link.setAttribute("href",url);
var superscript=document.createElement("sup");
superscript.appendChild(link);
//把标记引用到最后一个节点
elem.appendChild(superscript);
}
}
addLoadEvent(displayCitations);



function displayAccesskeys(){
if(!document.getElementsByTagName||!document.createElement||!document.createTextNode)return false;
//取得所有节点
var ans=document.getElementsByTagName("a");
   //建立一个数组,保存访问键
   var akeys=new Array();


//遍历节点
for(var i=0;i<ans.length;i++){
       var current_ans=ans[i];
       //如果没有,继续循环
       if(!current_ans.getAttribute("accesskey"))continue;
       //取得accesskey
       var key=current_ans.getAttribute("accesskey");
       //取得链接文本
       var text=current_ans.lastChild.nodeValue;
       //添加到数组
       akeys[key]=text;
}
//创建列表
var list=document.createElement("ul");
//遍历访问键
for(key in akeys){
var text=akeys[key];
//创建放到列表中的字符串
var str=key+":"+text;
//创建列表项
var item=document.createElement("li");
var item_text=document.createTextNode(str);
item.appendChild(item_text);
//把列表项添加到列表中
list.appendChild(item);
}
//创建标题
var header=document.createElement("h1");
var header_text=document.createTextNode("Accesskey");
header.appendChild(header_text);
//把标题添加到主体页面
document.body.appendChild(list);




}
addLoadEvent(displayAccesskeys);



0 0
原创粉丝点击