1缩写列表起点:包含大量缩写的文本,例如:
p缩写title='万维网联盟' W3C/缩写定义缩写title=' Document Object Model ' DOM/缩写as :/p block quote cite=' http://www . w3 . org/DOM/' p一个平台和语言中立的接口,将允许程序和脚本动态访问和更新文档的内容、结构和样式。/p /blockquote p它是一个缩写title=' Application Programming Interface ' API/缩写,可用于导航缩写title='超文本标记语言' html/缩写和缩写title='可扩展标记语言' XML/缩写文档。/p缩写标签的title属性在浏览器中是隐藏的,不同的浏览器中缩写的默认呈现风格是不一样的,会在一定程度上影响用户的体验。更好的解决方法是在列表中显示这些缩写。例如:
Dlddt缩写title/缩写. lastChild.nodeValue/dt dd缩写定义描述/缩写. getattribute/DD./dl使用DOM创建这个列表(也就是说,js用于动态创建html标签。对于常见的方法,请参见js的事件处理函数和动态创建html标记的方法的详细解释)。一般流程如下:
(1)遍历缩写(2)保存缩写的标题属性和文本(3)创建定义列表元素dl (4)创建定义标题元素dt (5)将缩写的文本插入dt元素(6)创建定义描述元素dd (7)将缩写的标题属性插入dd元素(9)添加上面创建的所有元素
代码如下:
函数显示缩写(){//注意1:这里没有检查DOM方法的兼容性。Var缩写=文档。getElementSBYTAGNAME('缩写');var defs=new Array();//注2:用数组//的键值对保存缩写的标题属性和文本,遍历abbr列表(var I=0;长度;I){ var current _缩写=缩写evaitons[I];//注意3: if (current _缩写. childnodes.length1)继续;var defination=current _缩写. GetAttributes(' title ');var key=current _缩写. LastChild . node value;defs[key]=定义;} var dlist=document . create element(' dl ');//遍历defs for(defs中的键){ var definition=defs[key];var dtit le=document . create element(' dt ');var dtitle _ text=document . createtextnode(key);dtitle . appendchild(dtitle _ text);var ddesc=document . create element(' DD ');var ddesc _ text=document . createtextnode(definition);ddesc . appendchild(ddesc _ text);dlist . appendchild(dt itle);dlist . appendchild(ddesc);}//注4: if (dlist。childnodes.length1)返回falsevar header=document . create element(' H2 ');var header _ text=document . createelement('缩写');header . appendchild(header _ text);//注意5:下面两行使用HTML-DOM属性:document.body,也可以使用DOM核心的document . getelementsbytagname(' body ')[0]方法;document.body.appendChild(表头);document . body . appendchild(dlist);} display缩略语还有很大的改进空间,比如注释1中提到的DOM方法兼容性检查。还有IE6不支持缩写的问题,可以通过在注释3和注释5中增加语句来解决。Note 3解决了IE6及更早版本的IE在计数缩写元素节点时总是返回0的问题,Note 5解决了js因为浏览器不支持缩写元素而报错的问题。
2.动态创建文献源链接的方法与缩略列表大致相同
blockquote标记定义了一个块引用,它有一个可选的cite属性,指定引用的来源。该属性的值是用引号括起来的指向网页的网址。这个属性非常有用,它可以链接文献和相关网页。但是主流浏览器不支持cite属性,一般会被忽略,用户看不到。
1中html代码中blockquote的cite属性以链接的形式显示,代码如下:
函数显示引文(){//兼容性检查if(!文件。getelementsbytagname | |!document.createElement ||!document.createTextNode)返回false//获取所有的引用元素var引号=文档。getelementsbytagname('块引号');//1 遍历引用元素for(var I=0;长度;i ) { //检查是否存在引用属性if(!引文[i].getAttribute('cite ')继续;//2 提取引用属性的值var url=引号[i].getAttribute(' cite ');//获取引用包含的所有元素节点,注意是元素节点,这样就把文本节点排除掉了var quoteChildren=quotes[i].getElementsByTagName(' * ');//判断元素是否为空if (quoteChildren.length 1)继续;var elem=引用子代[引用子代。长度-1];//获取最后一个元素节点var link=文档。创建元素(' a ');//3 创建链接节点var link _ text=文档。createtextnode(' source ');链接。appendchild(link _ text);link.setAttribute('href ',URL);//4 给链接节点的href属性赋值定义变量上标=文档。创建元素(' sup ');上标。appendChild(链接);elem.appendChild(上标);//5 追加节点到引用包含节点的末尾}}3 accesskey属性可以将a链接与键盘的特定按键关联在一起,如:a href=' index。html '访问键=' 1 '主页/a,不过好像不是所有的浏览器都支持这个属性,比如歌剧。
将下面超文本标记语言代码中的accesskey属性像上面缩列语以列表的形式展示出来。
ul id=' navigation ' lia href=' index。“html”访问键=“1”主页/a/Li lia href=“搜索”。“html”访问键=“4”搜索/a/Li lia href=“联系人”。“html”访问键=“0”联系人/a/Li/ul代码如下:
函数displayAccesskeys() { if(!文件。getelementsbytagname | |!document.createElement ||!document.createTextNode)返回false//获取文档中的所有链接var links=文档。getelementsbytagname(' a ');//创建一个数组来存储访问键var akeys=new Array();//循环链接(var I=0;ilinks . lengthi){ var current _ link=link[I];//如果没有accesskey属性,如果(current _ link。GetAttribute('访问键'==null)继续,则继续循环;//获取accesskey var key=current _ link。GetAttribute(' accesskey ')的值;//获取链接文本var文本=current _ link。LastChild。节点值的值;//将它们添加到数组akeys[key]=text;}//创建列表var列表=文档。创建元素(' ul ');//循环访问(akeys中的key){ var text=akeys[key];//创建要放入列表项var str=key ' : '文本的字符串;//创建列表项var item=文档。创建元素(“李”);var item _ text=文档。createtextnode(字符串);项目。append child(item _ text);//将列表项添加到list list.appendChild(项目)中;}//创建一个标题var header=文档。创建元素(“H3”);var header _ text=文档。createtextnode('访问键');标题。appendchild(header _ text);//将标题添加到body document.body.appendChild(页眉)中;//将列表添加到body document.body.appendChild(列表)中;} addLoadEvent(displayAccesskeys);最后实现的网页效果如下:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!