一、采用jQuery创建节点

节点是DOM基础设施。依据DOM产品规格,Node是一个很宽泛的概念,包含元素、属性、正文、档、。实际开发过程中,要创建动态内容,主要操作的节点包括元素、

属性和文本。

看一个样例 实例4-1:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> jQuery创建元素、文本和属性 </title>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var $h1=$("<h1 title='一级标题'>jQuery创建元素、文本和属性</h1>");
$("body").append($h1);
//写成一行
$("body").append("<h2 title='二级标题'>二级标题</h2>")
})
</script>
</head>
<body> </body>
</html>

运行效果如图:

非常easy的一行代码就能够完毕创建元素、文本和属性而且把该元素放到body元素下。比JavaScript简化了太多了。

二、使用jQuery插入元素

1、在节点内部插入内容

jQuery提供了4种方法用于在节点内部插入内容

表4-1 在节点内部插入内容方法
方法 说明
append() 向每一个匹配的元素内部追加内容(既然是‘追加’,那旧说明是在匹配元素内部的后面添加)
appendTo()       把全部匹配的元素追加到还有一个指定的元素集合中,实际上。这种方法颠倒了append()方法的应用。比如$(A).append($B)和

$B.appendTo($A)是等价的
prepend() 与append()相反。它是把元素插到到匹配元素内部的最前面
prependTo() 与prepend()使用方法颠倒,不多说了

这四个方法的參数能够是字符串、DOM元素对象或者是jQuery对象。

以下演示样例演示append()方法分别把DOM元素对象、jQuery对象和字符串加入到ul对象以下。

实例4-2:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> jQuery在节点内部插入内容 </title>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var $li =$("<li>jQuery对象</li>");
var li=document.createElement("li");
li.innerText="DOM对象";
$("ul").append($li)
$("ul").append(li)
$("ul").append("<li>字符串</li>");
})
</script>
</head> <body>
<ul></ul>
</body>
</html>

运行结果如图:

2、在节点外部插入内容

jQuery相同提供了四个方法

表4-2 在节点外部插入内容方法
方法 说明
after() 在每一个匹配的元素之后插入内容
before() 在每一个匹配的元素之前插入内容
insertAfter() 把全部匹配的元素插入到还有一个指定的元素集合的后面
insertBefore() 把全部匹配的元素插入到还有一个指定的元素集合的前面

这四个方法跟前面那四个方法使用方法相似,看个样例

实例4-3:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> jQuery在节点外部插入内容 </title>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("div").after($("<p>最后一段文本</p>"))
$("div").before($("<p>第一段文本</p>"))
$("div").css("background","red");
})
</script>
</head>
<body>
<div id="" class="" bgcolor="red">
<p >段落文本</p>
</div>
</body>
</html>

运行效果如图:

特别注意:appendTo()、prependTo()、insertAfter()、insertBefore()四个方法具有破坏性操作的特性。

也就是说,假设选择已存在的内容并把他们插入到指定对象中,则原位

置的内容将被删除。

实例4-4:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 插入内容的破坏性 </title>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("div").css("background","red");
})
</script>
</head>
<body>
<div id="" class="" bgcolor="red">
<p >段落文本</p>
</div>
</body>
</html>

运行效果:

加上一段js:

$("p").insertAfter($("div"))

运行效果例如以下:

三、使用jQuery删除元素

jQuery支持两种删除元素的方法:remove()和empty()。而DOM仅定义了与jQuery的remove()方法相应的removeChild()方法。

表4-3 jQuery删除元素的方法
方法 说明
remove() 从DOM中删除全部的匹配的元素,也就是把本身都删除。

empty() 这个意义是清空。是清空内部,本身保留。

四、使用jQuery复制元素

jQuery定义了clone()方法用来复制节点,与之相应的DOM定义了cloneNote()方法实现同样的操作功能。

这个比較简单。看个样例得了:

实例4-5:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 使用jQuery复制元素 </title>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var $tr=$("table tr:last").clone();
$tr.find("td").each(function(index,value){
$(this).text("第3行第"+(index+1)+'列')
})
$("table").append($tr)
})
</script>
</head>
<body>
<div id="" >
<table width="100%" border="1" cellpadding="2" cellspacing="0">
<tr>
<td>第1行第1列</td>
<td>第1行第2列</td>
</tr>
<tr>
<td>第2行第1列</td>
<td>第2行第2列</td>
</tr>
</table>
</div>
</body>
</html>

运行结果:

五、使用jQuery替换元素



jQuery定义了replaceWith()方法和replaceAll()方法用来替换节点,与之相应的DOM定义了replaceChild()方法实现同样的操作功能。只是他们的使用方法迥然不同。

replaceWith()方法可以将全部匹配的元素替换成指定的HTML或DOM元素。replaceAll()方法与之功能同样。可是操作相反,比如在下例中将全部的p元素替换为div元素

实例4-6:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> jQuery替换元素 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("p").replaceWith("<div>111</div>") //$("<div>111</div>").replaceAll($("p")) 与上面的效果同样
})
</script>
</head> <body>
<p>段落1</p>
<p>段落2</p>
<p>段落3</p>
</body>
</html>

看一下它的DOM结构:

六、使用jQuery操作属性

jQuery和DOM都提供了元素属性的基本操作方法

1、设置属性

jQuery通常使用attr()方法来设置属性,而DOM定义了setAttribute()方法来设置元素的属性。

在使用jQuery提供的attr()方法的时候。须要为该方法设置两个參数值,各自是属性名和属性值。还能够用一个函数替换第二个參数(属性值)。用函数的返回结果充当属性值。

使用方法非常easy,比如:$("p").attr("title","段落文本");

2、获取属性

jQuery里还是用attr(),DOM里用getAttribute()。

当为attr()设置了一个參数值时,代表要获取这个属性的属性值,假设没有该属性,那么返回undefined。不用举例了,非常easy。也经经常使用。

3、删除属性

jQuery里定义的方法是removeAttr()方法删除指定的元素属性,DOM里定义的是removeAttribute()。

$("p").removeAttr("title");

七、jQuery操作类样式

在设计动态样式时,常常须要与元素的class属性打交道,该属性能够为元素定义样式。既然作为元素的属性。我们当然能够用上面介绍的attr()方法进行动态改动元素的class。

只是,jQuery为了开发人员方便操作。又单独定义了几个与class操作相关的方法。

1、追加样式 addClass

使用addClass方法前首先的定义好样式类。使用方法也非常easy。看个样例

实例4-7:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>addClass </title>
<style type="text/css">
.red{
color:red;/*红色字体样式*/
}
.bold{
font-weight:bold;/*加粗字体样式*/
}
.italic{
font-style:italic;/*倾斜字体样式*/
}
</style>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
$(function(){
$("input").eq(0).click(function(){
$("p").addClass("red");
});
$("input").eq(1).click(function(){
$("p").addClass("bold");
})
$("input").eq(2).click(function(){
$("p").addClass("italic");
})
})
//-->
</script>
</head> <body>
<p>手握日月摘星辰,世间无我这般人</p>
<input type="button" value="红色" onclick="">
<input type="button" value="加粗" onclick="">
<input type="button" value="倾斜" onclick="">
</body>
</html>

运行前的效果和分别点击三个button后的变化如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FvaGFpY2hlbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

2、移除样式removeClass()

用法大同小异。不做介绍了。

3、切换样式toggleClass()

样式切换在鼠标动态操作中很有用。在Web开发中诸如折叠、开关、伸缩、Tab切换等动态效果中都须要用到交互切换。jQuery为此定义了toggleClass()方法。该方法可用来

开/关指定类样式,从而实现切换类样式的目标。

jQuery的toggleClass()方法包括两个參数,第一个參数指定作为开关的类样式名称,第二个參数用来决定是否打开类样式。该參数为可选。

假设没有设置第二个參数,则

toggleClass()方法依据是否存在參数设置的样式,假设存在。就去除,否则追加。

实例4-8:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<style type="text/css">
.hidden{
display:none;
}
</style>
<script src="jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
<!--
$(function(){
$("input").click(function(){
$("p").toggleClass("hidden")
})
})
//-->
</script>
</head>
<body>
<input type="button" value="切换样式" >
<p>手握日月摘星辰,世间无我这般人</p>
</body>
</html>

4、推断样式hasClass()

在过滤函数里总结过。不反复写了。

八、使用jQuery操作HTML、文本和值

就是经经常使用的html()  text()  val()

没有參数的时候是读取。有參数的时候是赋值。

版权声明:本文博主原创文章。博客,未经同意不得转载。

jQuery组织您钞四----jQuery操作DOM的更多相关文章

  1. 第四章 使用jQuery操作DOM

    第四章 使用jQuery操作DOM 一.DOM操作 在jQuery中的DOM操作主要可分为样式操作.文本和value属性值操作.节点操作: 节点操作又包含属性操作.节点遍历和CSS-DOM操作. 其中 ...

  2. jQuery 第四章 实例方法 DOM操作之data方法

    jquery 里面 的 data 方法比较重要, 所以成一个模块写: 首先, 得知道 data()  干嘛用的, 看淘宝上 有自定义的属性, 为data -  什么什么,   这是为了dom 跟数据有 ...

  3. Jquery选择器,操作DOM

    刚接触jQuery,她真的是个好东西,操作DOM,修改样式,都很方便,主要获取DOM树的类和子代很方便. 今天用jq做了tab面包屑,不过用的是别人的代码,自己修改的,不错也做出来了,原理也有些明白, ...

  4. jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法

    一.jQuery操作DOM 内部插入操作: append(content|fn):向每个匹配的元素内部追加内容. prepend(content):向每个匹配的元素内部前置内容. 外部插入操作: af ...

  5. jQuery系列 第七章 jQuery框架DOM操作

    第七章 jQuery框架的选择器 jQuery框架继承和优化了JavaScript访问DOM对象的特性,我们使用jQuery框架提供的api可以更加方便的操作DOM对象. 7.1 创建DOM节点 使用 ...

  6. 原生JS和jQuery操作DOM的区别小结

    一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...

  7. *jquery操作DOM总结 (原创:最全、最系统、实例展示)

    jquery操作DOM包括八个方面: 一:jquery对DOM节点的基本操作:二:jquery对DOM节点的CSS样式操作:三:jquery遍历DOM节点:四:jquery创建DOM节点:五:jque ...

  8. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

  9. jQuery操作DOM元素

    作为一个后端程序员,也是要和前端页面打交道的.最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求.实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用 ...

随机推荐

  1. MAC 10.10 apache 服务器配置

    mac中自带了apache服务器, 如果需要在mac上使用apache服务器, 只需要配置并启动服务器即可. mac 10.10 中自带的apache版本是 2.4 mac 10.9 中自带的apac ...

  2. Android - 用Fragments实现动态UI - 使用Android Support Library

    Android Support Library提供了一个带有API库的JAR文件来让你可以在使用最新的Android API的同时也也已在早期版本的Android上运行.例如,Support Libr ...

  3. T4模板合并js

    使用T4模板合并js文件 不知道该怎么表达,或许直接贴图贴代码更好 前因:在第一个使用angularjs的项目中我将所有的controller写到一个文件里面,深知维护起来那滋味,所以再次使用angu ...

  4. Linux下 高性能、易用、免费的ASP.NET服务器

    Linux下 高性能.易用.免费的ASP.NET服务器 http://www.jexus.org/#

  5. 【Java技术位】——代理模式及其事务包

    背景 项目中我们会遇到这种情况:在几个方法中增加同样的代码,这些代码是与业务无关的,而且以后有可能因为考虑不周或需求变动再或者是其它原因,我们须要对他们进行逐一进行修改.举个详细的样例,比方程序中的日 ...

  6. SPPS java 创template

    最近写信给学校一个部门java plug for spss. 当加到变量超过70个月,然后保存,SPSS它会在错误的地方报. 解决方案: 每添加70提交变量. 版权声明:本文博主原创文章.博客,未经同 ...

  7. 如何从Terminal Command Line编译并运行Scope

    Ubuntu SDK我们大部分的开发者是非常有效的.它甚至可以帮助我们进行在线调试.在这篇文章中,我们介绍了如何使用command line编译和执行我们scope. 1)创建一个主Scope 我们能 ...

  8. COCOFrame

    COCOFrame它是一个轻量级的开发框架,综合Android APP开发过程中经常使用的工具,方法,特效.当中F类採用的AndroidQuery实现,做了进一步的封装及部分优化. 1. Jar包大小 ...

  9. tomcatserver解析(六)-- Acceptor

    Acceptor负责用来管理连接到tomcatserver的数量,来看看Acceptor在tomcatserver中的应用,是怎样实现连接管理的,socket连接建立成功之后,是怎样实现内容的读写的( ...

  10. android可扩展自己的定义,运动图像裁剪框

    在实际项目中,常常要制作一个简易的图像裁剪功能,即获取一张图片.并用一个遮罩层选择目标范围并截取保存的功能.例如以下图所看到的: 在此分享下该自己定义视图的制作过程. 需求说明 整一个视图包括一个透明 ...