jQuery基础学习(三)—jQuery中的DOM操作
一、查找节点
查找属性节点: 通过jQuery的选择器来完成。
操作属性节点: 调用jQuery对象的attr()来获取它的属性值。
操作文本节点: 通过text()方法。
//1.操作文本节点:通过jQuery的text()方法
alert($("#bj").text());
$("#bj").text("南京");
alert($("#bj").text()); //2.操作属性节点
//注:直接操作value属性值可以使用val()方法
alert($(":text[name='username']").attr("value"));
$(":text[name='username']").attr("value","呵呵");
二、插入节点
1.创建节点
$(HTML);
var $li_1 = $("<li id='bj'>北京</li>");
var $li_2 = $("<li id='sh'>上海</li>");
2.插入节点

二、删除节点
1.remove()
从DOM中删除所有匹配的元素,传入的参数用于根据jQuery表达式来筛选元素。当某个节点用remove()方法删除后,该节点所包含的所有后代节点将被同时删除。这个方法的返回值是一个指向被删除的节点的引用。
<ul id="fruit">
<li id="apple">苹果</li>
<li>香蕉</li>
<li>草莓</li>
<li>桃子</li>
</ul>
$("ul li[id='apple']").remove();
删除前: 删除后:

2.empty()
清空节点,清空元素中的所有后代节点(不包含属性节点)。
$("ul li[id='apple']").empty();
删除前: 删除后:


三、克隆节点
clone(): 克隆匹配的DOM元素,返回值为克隆后的副本,但此时复制的新节点不具有任何事件和行为。
clone(true): 复制元素的同时也复制元素的事件。
<p>你喜欢的水果?</p>
<ul id="fruit">
<li id="apple">苹果</li>
<li id="banana">香蕉</li>
<li>草莓</li>
<li>桃子</li>
</ul>
$("li").click(function(){
alert($(this).text());
});
$("#apple").clone().insertAfter("#banana");//此时新添的节点有相同的id但是没有点击事件
$("#apple").clone(true).attr("id","apple2").insertAfter("#banana");//修改了id同时添加的事件
四、替换节点
replaceWith(): 将所有匹配的元素都替换为指定的 HTML 或 DOM 元素。
replaceAll(): 和上面一样,只是主谓替换了。
$("<li>荔枝</li>").replaceAll($("#fruit li:last"));
$("#fruit li:eq(1)").replaceWith($("<li>橘子</li>"));
替换前: 替换后:

下列代码实现节点的互换
//节点的替换
var $apple2 = $("#apple").clone(true);
var $peach2 = $("#peach").clone(true); $("#apple").replaceWith($peach2);
$("#peach").replaceWith($apple2);
注意: 若在替换之前, 已经在元素上绑定了事件, 替换后原先绑定的事件会与原先的元素一起消失。
五、包裹节点
wrap(): 将指定节点用其他标记包裹起来。 该方法对于需要在文档中插入额外的结构化标记非常有用, 而且不会破坏原始文档的语义。
wrapAll(): 将所有匹配的元素用一个元素来包裹。而 wrap() 方法是将所有的元素进行单独包裹。
wrapInner(): 将每一个匹配的元素的子内容(包括文本节点)用其他结构化标记包裹起来。
$("#fruit li").wrap("<font color='red'></font>");
$("#fruit li").wrapAll("<font color='red'></font>");
$("#fruit li").wrapInner("<font color='red'></font>");
上面三种对应的HTML结构:

六、属性操作
1.获取属性和设置属性
attr()
//1.获取属性
var id_text = $("#apple").attr("id");
alert(id_text);//apple //2.设置属性
$("#apple").attr("id","apple2");
alert($("#apple2").attr("id"));//apple2 //3.设置多个属性
$("p").attr({"title" : "hehe","name" : "test"});
jQuery 中有很多方法都是一个函数实现获取(getter)和设置(setter). 如: attr(), html(), text(), val(), height(), width(), css() 等。
2.删除属性
removeAttr();
如果要删除<p>元素的title属性,可以使用下面的。
$("p").removeAttr("title");
七、设置和获取HTML、文本和值
(1)html()
该方法类似于JavaScript中的innerHtml属性,可以用来读取和设置某个元素中的HTML内容。
<p><strong>你喜欢的水果?</strong></p>
alert($("p").html());
结果:

注意: html()方法可以用于XHTML文档,但是不能用于XML文档。
(2)text()
该方法类似于JavaScript中的innerText()属性,可以用来读取或者设置某个元素中的文本内容。
<p><strong>你喜欢的水果?</strong></p>
alert($("p").text());
结果:

(3)val
用来设置和获取元素的值。无论元素是文本框、下拉列表还是单选框,它都可以返回元素的值。如果是多选,就返回数组。
jQuery基础学习(三)—jQuery中的DOM操作的更多相关文章
- jQuery基础学习(二)—jQuery选择器
一.jQuery基本选择器 1.CSS选择器 在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例 标签选择器 E { ...
- webform(九)——JQuery基础(选择器、事件、DOM操作)
JQuery -- 一个js函数包 一.选择器 1.基本选择器 ①id选择器:# ②class选择器:. ③标签名选择:标签名 ④并列选择:用,隔开 ⑤后代选 ...
- jQuery基础学习(一)—jQuery初识
一.jQuery概述 1.jQuery的优点 jQuery是一个优秀的JavaScript库,极大地简化了遍历HTML文档.操作DOM.处理事件.执行动画和开发Ajax的操作.它有以下几点优 ...
- JQuery基础(选择器、事件、DOM操作)
一.选择器 1.基本选择器 ①id选择器 ②class选择器 ③标签名选择 ④并列选择 ⑤后代选择 代码用法展示: <title></tit ...
- Webform——JQuery基础(选择器、事件、DOM操作)
一.选择器 1.基本选择器 ①id选择器:# ②class选择器:. ③标签名选择:标签名 ④并列选择:用,隔开 ⑤后代选择:用空格隔开 代码用法展示: ...
- jQuery基础学习3——jQuery库冲突
默认情况下,jQuery用$作为自身的快捷方式. jQuery库在其他库之后导入 在其他库和jQuery库都被加载完毕后,可以在任何时候调用jQuery.noConflict()函数来将变量$的控制权 ...
- jQuery基础学习4——jQuery容错性
使用jQuery选择器不仅比使用传统的getElementById()和getElementsByTagName()函数简洁得多,而且还能避免某些错误. <script type="t ...
- 【Java EE 学习 32 下】【JQuery】【JQuey中的DOM操作】
一.JQuery中的DOM操作. 什么是DOM:DOM是一中和浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DOM简称文档对象模型,是Document Oject Mode ...
- 第三章(jQuery中的DOM操作)
3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...
随机推荐
- unity3d为什么会有三种脚本语言?
相信这个问题多多少少会令许多初学者感到困惑,因为他们不知道应该选择哪种语言好,但是都会从以下几个方面进行考虑: 1.学习成本.哪门语言让我快速上手. 2.文档帮助.说白了就是出了问题,有没有人能解决. ...
- 概念 : 用户>角色>权限 的管理(Role-Based Access Control)
RBAC 用户管理规范 概念:每个user有多个accounts,每个account 有一个account binding,有多个roles和多个tasks 举个例子:某个用户现在manager,这是 ...
- laravel中的Database Notifications
创建Post and User模型 php artisan make:model Post php artisan make:model User 创建posts and users 表文件 ph ...
- C#:求1到100的和
using System;public class Program { public static void Main() { ...
- python3.4 安装 scrapy 报错 VS2010
安装scrapy框架报错是常见问题 还好,本人只碰到其中一个bug,以下是此次安装经验 环境 py3.4 windows7 64位 安装有VS2010 pip包管理(pycharm) 报错信息 安装l ...
- 3301: [USACO2011 Feb] Cow Line
3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 82 Solved: 49[Submit ...
- Raft算法,从学习到忘记
Raft算法,从学习到忘记 --Raft算法阅读笔记. --Github 概述 说到分布式一致性算法,可能大多数人的第一反应是paxos算法.但是paxos算法一直以来都被认为是难以理解,难以实现.S ...
- C++ Primer 5 CH2 变量和基本类型
C++ 是一种静态数据类型语言,它的类型检查发生在编译时.因此,编译器需要知道每一个变量对应的数据类型. 2.1 基本内置类型 算术类型 C++ 标准并没有规定带符号类型应如何表示,但是约定了在表示范 ...
- 关于如何介绍spring框架。
一.介绍Spring 1.Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架. 2.概念:轻量级的IOC(控制反转或者依赖注入).AOP(面向切面或者面向方面) ...
- Office 365 开发概览系列文章和教程
Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...