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);
|
浏览器效果:
本文转自 小旭依然 51CTO博客,原文链接:http://blog.51cto.com/xuyran/1783621