JS DOM:显示文献来源链接表

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
< html  lang = "en" >
< head >
< meta  charset = "utf-8" >
< title >Explaining the Ddocument Ob Model</ title >
 
< link  href = "style08.css"  type = "text/css"  rel = "stylesheet"  />
</ head >
< body >
< h1 > What is the Document object Model?</ h1 >
< p >
The < abbr  title = "Worle Wide Web Consortium" >W3C</ abbr > defines the < abbr  title = "Object Model" >DOM</ abbr > as:
</ p >
< blockquote  cite = "http://www.w3.org/DOM/" >
< P >
A platform- and language-neutral interface that will allow programs 
and scripts to dynamically access and update the content,structure and styles of documents.
</ p >
</ blockquote >
< p >
It is an < abbr  title = "Application Programming Interface" >API</ abbr >
that can be used to navigate < abbr  title = "eXtensible Markup Language" >XML</ abbr >
documents.
</ p >
< script  src = "8.5.js" ></ script
</ body >
</ html >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function  addLoadEvent(func){     //不管在页面加载完毕执行多少个函数,都应付自如
  var  oldonload = window.onload;
if ( typeof  window.onload !=  'function' ){
window.onload = func;
} else {
window.onload =  function (){
oldonload();
func();
}
}
}
 
function  displayCitations(){
//检查兼容性
if (!document.getElementsByTagName||!document.createElement||!document.createTextNode)  return  false ;
 
var  quotes = document.getElementsByTagName( "blockquote" );
for var  i = 0;i < quotes.length; i++){
if (!quotes[i].getAttribute( "cite" ))  continue ;
var  url = quotes[i].getAttribute( "cite" );              //获取cite属性的值:也就是链接
var  quoteChildern = quotes[i].getElementsByTagName( "*" );       //因为p节点和blockquote节点之间有个换行符,不少浏览器会把它解释为几个文本节点,这样一来,blockquote元素节点的lastChild属性
//检查长度是否小于1 ,如果是,立刻退出本次循环。              //就是一个文本节点不是p元素节点。该条语句是为了获取最后一个元素节点的位置。建议:如果没有百分之百把握,一定要去检查
if (quoteChildern.length < 1)  continue ;                         //lastChild的nodeType属性,以免获取节点错误。
var  elem = quoteChildern[quoteChildern.length - 1];           
var  link = document.createElement( "a" );     //创建a元素
var  link_text = document.createTextNode( "source" );
link.appendChild(link_text);
link.setAttribute( "href" , url);           //把href属性添加给新链接
//插入链接
var  superscript = document.createElement( "sup" );            //sup元素:指定内含文本要以上标的形式显示,通常比当前字体稍小。
superscript.appendChild(link);                              //以上语句html文本:<sup><a href="http://www.w3.org/DOM/">source</a></sup>
elem.appendChild(superscript);         //追加为变量elem的最后一个子节点
 
}
 
addLoadEvent(displayCitations);


浏览器效果:

wKioL1dG893xNu75AAAzYOZYmW4003.png-wh_50

本文转自  小旭依然  51CTO博客,原文链接:http://blog.51cto.com/xuyran/1783621

相关文章
|
12月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
340 57
|
7月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
11月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
380 5
|
11月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
12月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
325 4
|
JavaScript 前端开发 索引
JavaScript HTML DOM 节点列表
JavaScript HTML DOM 节点列表
104 5
|
JavaScript 前端开发 索引
你可能没有听说过 js中的 DOM操作还有这个: HTMLCollection 和 NodeList
该文章详细解释了JavaScript中HTMLCollection和NodeList这两种DOM集合类型的特性、使用方法及其区别,并通过实例代码展示了如何操作这两种集合来选取和遍历DOM元素。
|
JavaScript 前端开发 索引
JavaScript HTML DOM 集合(Collection)
JavaScript HTML DOM 集合(Collection)
113 4
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
88 2

热门文章

最新文章