JavaScript和jQuery的DOM操作

王朝学院·作者佚名  2009-08-05
窄屏简体版  字體: |||超大  

1、创建元素节点

传统的javascript方法,创建元素节点

程序代码

var a = document.createElement("p");

jQuery中创建节点的方法是:

程序代码

$('<p></p>');

和createElement()一样,创建出来的新元素节点不会被自动添加到文档里。

如果想把它添加到文档里,可以使用 jQuery中的 append()或者insertAfter()方法或者 before ()等方法。

比如:

程序代码

var a = $('<p></p>');

$('body').append(a);//添加到body元素的最后

2、创建文本节点

传统的javascript方法,创建文本节点

程序代码

var b = document.createTextNode("my demo");

通常创建文本节点和创建元素节点配合使用.

比如:

程序代码

var mes = document.createTextNode("hello world");

var container = document.createElement("p");

container.appendChild(mes);

document.body.appendChild(container);

而在jQuery中创建节点就不必那么麻烦了:

程序代码

$('<p>hello world</p>');

和createElement()一样,创建出来的新元素节点不会被自动添加到文档里。

如果想把它添加到文档里,可以使用 jQuery中的 append()或者insertAfter()方法或者 before ()等方法。

比如:

程序代码

var a = $('<p>hello world</p>');

$('body').append(a);//添加到body元素的最后

3、复制节点

传统的javascript方法,复制节点:

比如:

程序代码

var mes = document.createTextNode("hello world");

var container = document.createElement("p");

container.appendChild(mes);

document.body.appendChild(container);

var newpara = container.cloneNode(true);//true和false的区别

document.body.appendChild(newpara );

注意:

true : 是<p>aaaa</p>克隆。

false: 只克隆<p></p>,里面的文本不克隆。

可以用 firebug 看看。

在jQuery中复制节点:

程序代码

var a = $('<p>hello world</p>');

$('body').append(a);

var clone_a = a.clone();

$('body').append(clone_a);

和createElement()一样,复制出来的新元素节点不会被自动添加到文档里。

如果想把它添加到文档里,可以使用 jQuery中的 append()或者insertAfter()方法或者 before ()等方法。

另外还有一个注意:如果克隆后,id一样,不要忘记用.attr("id","new_id")来改变新的节点的ID。

4、插入节点

传统的javascript方法,插入节点:

比如:

appendChild():

给元素追加一个子节点, 新的节点 插入到 最后。

程序代码

var container = document.createElement("p");

document.body.appendChild(container);

insertBefore():

顾名思义,就是把一个新的节点插入到目标节点的前面。

程序代码

Element.insertBefore(newNode,targerNode );

在jQuery中插入节点比javascript自带的多了很多,

比如:

引用内容

.append()

.appendTo()

.prepend()

.prependTo()

.after()

.insertAfter()

.before()

.insertBefore()

所以对dom操作的简化也是jquery的亮点之一。

5、删除节点

传统的javascript方法,删除节点:

比如:

程序代码

var b = document.getElementById("b");

var c = b.parentNode;

c.removeChild(b);

在jQuery中的删除节点:

比如:

程序代码

$('#test2').remove();

6、替换节点

传统的javascript方法,替换节点:

比如:

程序代码

Element.repalceChild( newNode , oldNode );

oldNode必须是Element的一个子节点。

在jQuery中的替换节点:

比如:

程序代码

$("<p>替换 test1!</p>").replaceAll("#test1");

7、设置属性,获取属性

传统的javascript方法,设置属性,获取属性:

比如:

程序代码

setAttribute();//设置

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

a.setAttribute("title","my demo");

不管以前有没有title属性,以后的值是 my demo。

程序代码

getAttribute();//获取

var a =document.getElementById("cssrain");

var b = a.getAttribute("title");

获取的时候,如果属性不存在,则返回空,

在jQuery中的设置属性,获取属性:

比如:

程序代码

$("#test1").attr({ "class" : "test" , "title" : "TestDemo!" });

$("#test1").attr("class");

8、查找节点

查找节点对jQuery来说 简直是小菜一碟.

jQuery最引入关注的就是查找节点,也就是通常所说的选择器.

比如:

程序代码

$('#id')

$('.class')

$('tag')

$('tag.class')

$('#id tag')

$('tag#id')

$('#id:visible')

$('#id .class')

$('.class .class')

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航