首页 技术 正文
技术 2022年11月16日
0 收藏 367 点赞 4,566 浏览 3704 个字

最近把JavaScript DOM 编程艺术这本书看完了,觉得这本书很好 深入浅出地展示了渐进增强、平稳退化、结构和样式分离等编程思想,我对书中重要的知识进行了梳理总结。

一.网页

JavaScript DOM 编程艺术

二.JavaScript

JavaScript DOM 编程艺术

三.DOM

JavaScript DOM 编程艺术

四.重要知识点

1.innerHTML (html属性,只有web文档支持)

(1)读取

<div id=”testdiv”><p>This is <em>my</em>content</p></div>

var testdiv = document.getElementById(“testdiv”);

testdiv.innerHTML 为 <p>This is <em>my</em>content</p>

(2)写入

<div id=”testdiv”></div>

var testdiv = document.getElementById(“testdiv”);

testdiv.innerHTML = “<p>This is <em>my</em>content</p>”;

2.appendChild

<div id=”testdiv”></div>

var testdiv = document.getElementById(“testdiv”);

var para = document.createElement(“p”);

para.innerHTML = “This is <em>my</em>content”;

testdiv.appendChild(para);

3.createTextNode

<div id=”testdiv”></div>

var testdiv = document.getElementById(“testdiv”);

var para = document.createElement(“p”);

testdiv.appendChild(para);

var txt= document.createTextNode(“Hello world”);

para.appendChild(txt);

4. insertBefore

<div id=”testdiv”>你好</div>

var para = document.createElement(“p”);

var txt = document.createTextNode(“Hello world”);

para.appendChild(txt);

var testdiv = document.getElementById(“testdiv”);

testdiv.parentNode.insertBefore(para, testdiv);

结果:

<p>Hello world</p>

<div id=”testdiv”>你好</div>

5.DOM中没有提供insertAfter函数,但是可以自己实现

<div id=”testdiv”>你好</div>

var para = document.createElement(“p”);

var txt = document.createTextNode(“Hello world”);

para.appendChild(txt);

var testdiv = document.getElementById(“testdiv”);

var parent = testdiv.parentNode;

if (parent.lastChild == testdiv) {

parent.appendChild(para);

} else {

parent.insertBefore(para, testdiv.nextSibling);

}

结果:

<div id=”testdiv”>你好</div>

<p>Hello world</p>

6.html里的样式,在DOM中用驼峰命名法

获取

<p id=”example” style=”color:#999999;font-family:’Arial’,sans-serif”></p>

var para = document.getElementById(“example”);

alert(para.style.fontFamily);

设置

para.style.fontFamily=”normal”;

7.设置类名

<p id=”example” style=”color:#999999;font-family:’Arial’,sans-serif”></p>

var para = document.getElementById(“example”);

para.className = “exampleClass”;

获取类名

document.getElementsByClassName(“exampleClass”)[0].style.fontFamily;

8.定时器setTimeout

<p id=”message”>Whee!</p>

window.onload = function () {

var elem= document.getElementById(“message”);

elem.style.position = “absolute”;

elem.style.left = “50px”;

elem.style.top = “100px”;

movement = setTimeout(“moveMessage()”, 5000); //5秒后执行moveMessage()

}

function moveMessage()

{

var elem = document.getElementById(“message”);

elem.style.position = “absolute”;

elem.style.left = “200px”;

elem.style.top = “100px”;

}

取消定时器

ClearTimeout(movement);

9.javaScript实现动画效果

<p id=”message”>Whee!</p>

<p id=”message2″>Whoa!</p>

window.onload = function () {

var elem = document.getElementById(“message”);

elem.style.position = “absolute”;

elem.style.left = “50px”;

elem.style.top = “100px”;

moveElement(“message”, 125, 60, 30);

var elem2 = document.getElementById(“message2”);

elem2.style.position = “absolute”;

elem2.style.left = “50px”;

elem2.style.top = “50px”;

moveElement(“message2”, 125, 125, 30);

}

function moveElement(elementID,final_x,final_y,interval) {

var elem = document.getElementById(elementID);

var xpos = parseInt(elem.style.left);

var ypos = parseInt(elem.style.top);

if (xpos == final_x && ypos == final_y) {

return true;

}

if (xpos < final_x) {

xpos++;

}

if (xpos > final_x) {

xpos–;

}

if (ypos < final_y) {

ypos++;

}

if (ypos > final_y) {

ypos–;

}

elem.style.left = xpos + “px”;

elem.style.top = ypos + “px”;

var repeat = “moveElement(‘”+elementID+”‘,”+final_x+”,”+final_y+”,”+interval+”)”;

movement = setTimeout(repeat, interval);

}

10.juery

(1)

var items = document.getElementsByTagName(“li”);

for (var i = 0; i < items.length; i++) {

alert(typeof items[i]);

}

等价于

$(‘li’).each(function (i) {

alert(typeof this);

});

(2)

<input id=”name”/>

赋值

$(“#name”).attr(“value”, “张三”);

取值

$(“#name”).attr(“value”)  ;

(3)把div追加到body里

$(‘<div id=”example”>hello</div>’).appendTo(document.body);

(4)初始化函数

$(function ()

{

});

(5)a标签单击事件

<a href=”#”>hello</a>

$(‘a’).click(function (event) {

window.open(“HtmlPage1.html”);

});

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848