<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" <title>DOM Demo</title> </head><body><p title="选择你最喜欢的水果.">你最喜欢的水果是?</p><ul><li title="苹果">苹果</li><li title="橘子">橘子</li><li title="菠萝">菠萝</li></ul></body></html>构建出的DOM树如下:

JQuery中的DOM操作主要对包括:建【新建】、增【添加】、删【删除】、改【修改】、查【查找】【像数据库操作】。下面的DOM操作将围绕上面的DOM树进行学习JQueryDOM操作。
一、查--查找DOM节点
查找节点非常容易,使用选择器就能轻松完成各种查找工作。例:查找元素节点p返回p内的文本内容$("p").text();例:查找元素节点p的属性返回属性名称对应的属性值$("p").attr("title"),返回p的属性title的值。
二、建--新建DOM节点
1、创建元素节点
创建元素节点并且把节点作为<ul>元素的子节点添加到DOM节点树上。先创建元素点,创建元素节点使用Jquery的工厂函数$()来完成,格式如下:$(html),该方法会根据传入的html字符串返回一个DOM对象,并将DOM对象包装成一个JQuery对象后返回。
创建一个元素节点JQuery代码如下:
$li1=$("<li></li>")代码返回$li1就是一个由DOM对象包装成的JQuery对象。把新建节点添加到DOM树中JQuery代码如下:
$("ul").append($li1);添加后页面中只能看到<li>元素默认的"·",由于没有为节点添加文本所以只显示默认符号,下面创建文本节点。
$li2=$("<li>苹果</li>");代码返回$li2就是一个由DOM对象包装成JQuery对象,把新建的文本节点添加到DOM树中JQuery代码如下:
$("ul").append($li2);添加后页面中能看到"·苹果",右键查看页面源码发现新加的文本节点没有title属性。下面方法创建带属性的节点。
$li3=$("<li title="榴莲">榴莲</li>");代码返回$li3也是一个由DOM对象包装成JQuery对象,把新建的属性节点添加到DOM树中JQuery代码如下:
$("ul").append($li3);添加后页面中能看到"·榴莲",右键查看页面源码发现新加的属性节点有title="榴莲"属性。
$("target").append(element);例:
$("ul").append("<li title="香蕉">香蕉</li>");该方法查找ul元素,然后向ul中添加新建的li元素。
$("<li title="荔枝">荔枝<li>").appendTo("ul");该方法新建元素li,然后把li添加到查找到的ul元素中。
$(target).prepend(element);例:
$("ul").prepend("<li title="芒果">芒果</li>")该方法将查找元素ul然后将新建的li元素作为ul子节点,且作为ul的第一个子节点插入到ul中。
$(element).prependTo();例:
$("<li title="西瓜">西瓜</li>").prependTo("ul");该方法将新建的元素li插入到查找到的ul元素中作为ul的第一个子节元素。
$(target).after(element);例:
$(element).insertAfter(target);例:
$("<p>insertAfter操作</p>").insertAfter("span");方法将新建的p元素添加到查找到目标元素span后面,做为目标元素后面的第一个兄弟节点。
$(target).before(element);例:
$(element).insertBefore(target);例:
$("<a href="#">锚</a>").insertBefore("ul");insertBefore()新建a元素,将新建的a元素添加到元素ul前,做为ul的前一个兄弟节点。
$(element).remove();例:
$span=$("span").remove(); $span.insertAfter("ul");
$(element).empty();例:
$("ul li:eq(0)").empty();该示例使用empty方法清空ul中第一个li的文本值。只能下li标签默认符号”·“。
$(element).clone(true);例:
$("ul li:eq(0)").clone(true);该方法复制ul的第一个li元素,true参数决定复制元素时也复制元素行为,当不复制行为时没有参数。
$(oldelement).replaceWith(newelement);$(newelement).repalceAll(oldelement);例:
$("p").replaceWith("<strong>我要留下</strong>");该方法使用strong元素替换p元素。
$("<h3>替换strong</h3>").repalceAll("strong");该例使用h3元素替换所有的strong元素。
$(dstelement).wrap(tag);例:
$("p").wrap("<b></b>");该示例方法使用b标签包裹所有的p元素每个元素都使用b标签包裹。
$(dstelement).wrapAll(tag);例:
$("p").wrapAll("<b></b>");访示例方法使用b标签包裹所有的p元素,所有的p元素标签用一个b标签包裹。
$(dstelement).wrapInner(tag);例:
$("strong").wrapInner("<b></b>");该示例使用b标签包裹每个一strong元素的子元素。
$("p").attr("title");该示例用于获得p元素的title属性值。
$("p").attr("title","你最喜欢的水果");该示例设置p元素的title属性值为"你最喜欢的水果";
$("p").attr({"title":"你最喜欢的水果","name":"水果"})该示例一次设置两个属性值。$("p").removeAttr("name");该方法就是移除p元素的name属性。
$(element).addClass();例:
$("p").addClass("ul");该示例设置元素p的样式为ul。
$(element).removeClass();例:
$("p").removeClass("ul");该救命去除掉p元素的ul类样式。
$(element).toggleClass();例:
$("p").toggleClass("ul");该方法来回切换【添加删除实现切换】元素p的样式ul.
$(element).hasClass(class);例:
alert($("p").hasClass("ul"));打印出p元素是否有ul样式。
$("p").attr("class","another").结果是<p class="another">元素样式</>
$("p").addClass("class","another")结果是<p class="class1 another">元素样式</p>
$(selector).html();例:
<input type="text" id="userName" value="请输入用户名" />$("#userName").val();获得input元素的值。
<select id="fruits" multiple="multiple"><option>苹果</option><option>香蕉</option><option>西瓜</option></select>$("#fruits").val(["苹果","香蕉"]);该示例使select中苹果和香蕉两项被选中。
$(selector).children();例:
$("$("body").children().length;该示例获得body元素的子元素个数;
$(selector).next();例:
$("p").next().html();该示例获得p元素的下一个兄弟节点的html内容。
$(selector).prev();例:
$("ul").prev().text();该示例获得ul元素的上一个兄弟节点的文本内容。
$(selector).siblings();例:
$(selector).css();例:
$("p").css("color","red");该示例用于设置元素的颜色属性为红色;
$("p").css({"font-size":"30px","backgroundColor","#888888"});该示例用于设置元素的多个样式。$(selector).offset()该示例用于获得元素p的偏移量。
$(selector).position();例:
var postion = $("p").positon();var left=positon.left;var top=positon.top;该示例用于获得元素p的位置。
$(selector).scrollTop();$(selector).scrollLeft();例:
var scrollTop=$("p").scrollTop();var scrollLeft=$("p").scrollLeft();该示例用于获得元素的滚动条的位置。
$("textarea").scrollTop(300);$("textarea").scrollLeft(300);以上所述就是Jquery基础教程之DOM操作,希望对大家有所帮助。