jQuery使用手册之二 DOM操作


Posted in Javascript onMarch 24, 2007

属性
我们以<img id="a" scr="5.jpg"/>为例,在原始的javascript里面可以用var o=document.getElementById('a')取的id为a的节点对象,在用o.src来取得或修改该节点的scr属性,在jQuery里$("#a")将得到jQuery对象[ <img id="a" scr="5.jpg"/> ],然后可以用jQuery提供的很多方法来进行操作,如$("#a").scr()将得到5.jpg,$("#a").scr("1.jpg")将该对象src属性改为1,jpg。下面我们来讲jQuery提供的众多jQuery方法,方便大家快速对DOM对象进行操作
herf()   herf(val)
说明:对jQuery对象属性herf的操作。
例子:
未执行jQuery前

<href="1.htm" id="test" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){
   alert($(
"#test").href());
   $(
"#test").href("2.html");
}
运行:先弹出对话框显示id为test的连接url,在将其url改为2.html,当弹出对话框后会看到转向到2.html
同理,jQuery还提供类似的其他方法,大家可以分别试验一下:
herf()  herf(val)   html()  html(val)   id()  id (val)  name()  name (val)   rel()  rel (val)
src()    src (val)   title()  title (val)   val()  val(val)

操作
after(html)  在匹配元素后插入一段html
<href="#" id="test" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){  
       $(
"#test").after("<b>Hello</b>");  
}
执行后相当于:
<href="#" id="test" onClick="jq()">jQuery</a><b>Hello</b>

after(elem)  after(elems)  将指定对象elem或对象组elems插入到在匹配元素后
jQuery使用手册之二 DOM操作<id="test">after</p><href="#" onClick="jq()">jQuery</a>
jQuery代码及功能
function jq(){  
     $(
"a").after($("#test"));  
}
执行后相当于
jQuery使用手册之二 DOM操作<href="#" onClick="jq()">jQuery</a><id="test">after</p>

append(html)在匹配元素内部,且末尾插入指定html
<href="#" id="test" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){ 
     $("#test").append("
<b>Hello</b>");  
}
执行后相当于
<href="#" onClick="jq()">jQuery<b>Hello</b></a>
同理还有append(elem)  append(elems) before(html) before(elem) before(elems)请执行参照append和after的方来测试、理解!

appendTo(expr)  与append(elem)相反

jQuery使用手册之二 DOM操作<id="test">after</p><href="#" onClick="jq()">jQuery</a>
jQuery代码及功能
function jq(){  
      $(
"a"). appendTo ($("#test"));  
}
执行后相当于
<id="test">after<href="#" onClick="jq()">jQuery</a> </p>

clone() 复制一个jQuery对象
<id="test">after</p><href="#" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){  
     $(
"#test").clone().appendTo($("a"));  
}
复制$("#test")然后插入到<a>后,执行后相当于
<id="test">after</p><href="#" onClick="jq()">jQuery</a><id="test">after</p>

empty() 删除匹配对象的所有子节点
jQuery使用手册之二 DOM操作<div id="test">
jQuery使用手册之二 DOM操作  
<span>span</span>
jQuery使用手册之二 DOM操作  
<p>after</p>
jQuery使用手册之二 DOM操作
</div>
jQuery使用手册之二 DOM操作
<href="#" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){  
    $(
"#test").empty();  
}
执行后相当于
<div id="test"></div><href="#" onClick="jq()">jQuery</a>

insertAfter(expr)   insertBefore(expr)
     按照官方的解释和我的几个简单测试insertAfter(expr)相当于before(elem),insertBefore(expr)相当于after (elem)

prepend (html)  prepend (elem)  prepend (elems)   在匹配元素的内部且开始出插入
通过下面例子区分append(elem)  appendTo(expr)  prepend (elem)

<id="a">p</p>
<div>div</div>
执行$("#a").append($("div")) 后相当于
<id="a">

  

<div>div</div>
</p>
执行$("#a").appendTo($("div")) 后 相当于
<div>
   div
   
<id="a">p</p>
</div>
执行$("#a").prepend ($("div")) 后 相当于
<id="a">
   
<div>div</div></p>

remove()  删除匹配对象
注意区分empty(),empty()移出匹配对象的子节点,remove(),移出匹配对象

wrap(htm) 将匹配对象包含在给出的html代码内

<p>Test Paragraph.</p> <href="#" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){  
      $(
"p").wrap("<div class='wrap'></div>"); 
}
执行后相当于
<div class='wrap'><p>Test Paragraph.</p></div>

wrap(elem) 将匹配对象包含在给出的对象内
<p>Test Paragraph.</p><div id="content"></div>
<href="#" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){  
      $(
"p").wrap( document.getElementById('content') );
}
执行后相当于
<div id="content"><p>Test Paragraph.</p></div>

遍历、组合
add(expr)  在原对象的基础上在附加符合指定表达式的jquery对象
<p>Hello</p><p><span>Hello Again</span></p>
<href="#" onClick="jq()">jQuery</a>
jQuery代码及功能:
function jq(){
     
var f=$("p").add("span");    
     
for(var i=0;i < $(f).size();i++){
     alert($(f).eq(i).html());}
}
执行$("p")得到匹配<p>的对象,有两个,add("span")是在("p")的基础上加上匹配<span >的对象,所有一共有3个,从上面的函数运行结果可以看到$("p").add("span")是3个对象的集合,分别是[<p>Hello</p>],[<p><span>Hello Again</span></p>],[<span>Hello Again</span>]。

add(el)  在匹配对象的基础上在附加指定的dom元素。
        $("p").add(document.getElementById("a"));

add(els)  在匹配对象的基础上在附加指定的一组对象,els是一个数组

jQuery使用手册之二 DOM操作<p>Hello</p><p><span>Hello Again</span></p>
jQuery代码及功能:
function jq(){
     
var f=$("p").add([document.getElementById("a"), document.getElementById("b")])
     
for(var i=0;i < $(f).size();i++){
             alert($(f).eq(i).html());}
}
注意els是一个数组,这里的[ ]不能漏掉。

ancestors ()  一依次以匹配结点的父节点的内容为对象,根节点除外(有点不好理解,看看下面例子就明白了)

<div>
    
<p>one</p>
    
<span>
    
<u>two</u>
    
</span>
</div>
jQuery代码及功能:
function jq(){
     
var f= $("u").ancestors();
     
for(var i=0;i < $(f).size();i++){
      alert($(f).eq(i).html());}
}
第一个对象是以<u>的父节点的内容为对象,[ <u>two</u> ]
第一个对象是以<u>的父节点的父节点(div)的内容为对象,[<p>one</p><span><u>two</u></span> ]
一般一个文档还有<body>和<html>,依次类推下去。

ancestors (expr)  在ancestors()的基础上之取符合表达式的对象
如上各例子讲var f改为var f= $("u").ancestors(“div”),则只返回一个对象:
[ <p>one</p><span><u>two</u></span>  ]

children()  返回匹配对象的子介点

<p>one</p>
<div id="ch">   
     
<span>two</span>
</div>
jQuery代码及功能:
function jq(){
    alert($(
"#ch").children().html());
}
$("#ch").children()得到对象[ <span>two</span> ].所以.html()的结果是”two”

children(expr)  返回匹配对象的子介点中符合表达式的节点

<div id="ch">   
      
<span>two</span>
      
<span id="sp">three</span>
</div>
jQuery代码及功能
function jq(){
    alert($(
"#ch").children(“#sp”).html());
}
$("#ch").children()得到对象[<span>two</span><span id="sp">three</span> ].
$("#ch").children(“#sp”)过滤得到[<span id="sp">three</span> ]

parent ()  parent (expr)取匹配对象父节点的。参照children帮助理解

contains(str)  返回匹配对象中包含字符串str的对象

jQuery使用手册之二 DOM操作<p>This is just a test.</p><p>So is this</p>
jQuery代码及功能:
function jq(){
    alert($(
"p").contains("test").html());
}
$("p")得到两个对象,而包含字符串”test”只有一个。所有$("p").contains("test")返回 [ <p>This is just a test.</p> ]

end() 结束操作,返回到匹配元素清单上操作前的状态.

filter(expr)   filter(exprs)   过滤现实匹配符合表达式的对象 exprs为数组,注意添加“[ ]”

<p>Hello</p><p>Hello Again</p><class="selected">And Again</p>
jQuery代码及功能:
function jq(){
    alert($(
"p").filter(".selected").html())
}
$("p")得到三个对象,$("p").contains("test")只返回class为selected的对象。

find(expr)  在匹配的对象中继续查找符合表达式的对象

<p>Hello</p><id="a">Hello Again</p><class="selected">And Again</p>
Query代码及功能:
function jq(){
    alert($(
"p").find("#a").html())
}
在$("p")对象中查找id为a的对象。

is(expr)  判断对象是否符合表达式,返回boolen值

<p>Hello</p><id="a">Hello Again</p><class="selected">And Again</p>
Query代码及功能:
function jq(){
    alert($(
"#a").is("p"));
}
在$("#a ")是否符合jquery表达式。
大家可以用$("#a").is("div");  ("#a").is("#a")多来测试一下

next()  next(expr)  返回匹配对象剩余的兄弟节点

<p>Hello</p><id="a">Hello Again</p><class="selected">And Again</p>
jQuery代码及功能
function jq(){
        alert($(
"p").next().html());
        alert($(
"p").next(".selected").html());
}
$("p").next()返回 [ <p id="a">Hello Again</p> , <p class="selected">And Again</p> ]两个对象
$("p").next(".selected)只返回 [<p class="selected">And Again</p> ]一个对象

prev ()  prev (expr)  参照next理解

not(el)  not(expr)  从jQuery对象中移出匹配的对象,el为dom元素,expr为jQuery表达式。

<p>one</p><id="a">two</p>
<href="#" onclick="js()">jQuery</a>
jQuery代码及功能:
function js(){
     alert($(
"p").not(document.getElementById("a")).html());
     alert($(
"p").not(“#a”).html());
}
$("p")由两个对象,排除后的对象为[<p>one</p> ]

siblings ()  siblings (expr)  jquery匹配对象中其它兄弟级别的对象

<p>one</p>
<div>
  
<id="a">two</p>
</div>
<href="#" onclick="js()">jQuery</a>
jQuery代码及功能:
function js(){
       alert($(
"div").siblings().eq(1).html());
}
$("div").siblings()的结果实返回两个对象[<p>one</p>,<a href="#" onclick="js()">jQuery</a> ]
alert($("div").siblings(“a”)返回一个对象[<a href="#" onclick="js()">jQuery</a> ]

其他
addClass(class)   为匹配对象添加一个class样式
removeClass (class)   将第一个匹配对象的某个class样式移出

attr (name)   获取第一个匹配对象的属性

<img src="test.jpg"/><href="#" onclick="js()">jQuery</a> 
jQuery代码及功能:
function js(){
     alert($(
"img").attr("src"));
}
返回test.jpg

attr (prop)   为第一个匹配对象的设置属性,prop为hash对象,用于为某对象批量添加众多属性

<img/><href="#" onclick="js()">jQuery</a>
jQuery代码及功能:
function js(){
     $(
"img").attr({ src: "test.jpg", alt: "Test Image" }); 
}
运行结果相当于<img src="test.jpg" alt="Test Image"/>

attr (key,value)   为第一个匹配对象的设置属性,key为属性名,value为属性值

<img/><a href="#" onclick="js()">jQuery</a>
jQuery代码及功能
function js(){
     $(
"img").attr(“src”,”test.jpg”); 
}
运行结果相当于<img src="test.jpg"/>

removeAttr (name)   将第一个匹配对象的某个属性移出

<img alt="test"/><href="#" onclick="js()">jQuery</a>
jQuery代码及功能:
function js(){
     $(
"img"). removeAttr("alt"); 
}
运行结果相当于<img />

toggleClass (class)   将当前对象添加一个样式,不是当前对象则移出此样式,返回的是处理后的对象

<p>Hello</p><class="selected">Hello Again</p><href="#" onclick="js()">jQuery</a>
$("p")的结果是返回对象 [<p>Hello</p>,<p class="selected">Hello Again</p> ]
$("p").toggleClass("selected")的结果是实返回对象 [ <p class="selected">Hello</p>, <p>Hello Again</p> ]
Javascript 相关文章推荐
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
Jun 06 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
Oct 17 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
js模态对话框使用方法详解
Feb 16 Javascript
js+canvas实现动态吃豆人效果
Mar 22 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
Apr 08 Javascript
node.js实现带进度条的多文件上传
Mar 27 Javascript
小程序中this.setData的使用和注意事项
Aug 28 Javascript
jQuery使用手册之一
Mar 24 #Javascript
5 cool javascript apps
Mar 24 #Javascript
用JQuery 实现的自定义对话框
Mar 24 #Javascript
JQuery 简便实现页面元素数据验证功能
Mar 24 #Javascript
AutoSave/自动存储功能实现
Mar 24 #Javascript
用 javascript 实现的点击复制代码
Mar 24 #Javascript
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 #Javascript
You might like
php批量上传的实现代码
2013/06/09 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python常用的json标准库
2019/02/19 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
银行简历自我评价
2014/02/11 职场文书
欢度春节标语
2014/07/01 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
政风行风建设整改方案
2014/10/27 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
大学生学年个人总结
2015/02/15 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技