所谓Web体验,就是Web服务器与Web浏览器之间的合作。过去,都是由服务器生成HTML文档,然后浏览器负责解释并显示该文档。后来,我们可以用CSS技术来动态修改页面的外观。


###操作属性

jQuery实际上是在操作DOM中的className属性。

####非类属性

jQuery提供了.attr()和.removeAttr()方法,这些方法可以修改属性。

通过jQuery还可以一次修改多个属性。

.attr()方法也接受一对参数,第一个参数是属性名,第二个是属性值。更常用的是传入一个包含键值对的对象。

如果我们想让每个匹配的元素都具有相同的一个或多个属性值,那么只要给.arrt()传入一个静态的对象即可。更常见的是,为每个元素添加或修改的属性都必须具有不同的值。

值回调其实就是给参数传入一个函数,而不是传入具体的值。这个函数会针对匹配的元素集中的每个元素都调用一次,调用后的返回值将作为属性的值。

####DOM元素属性

HTML属性是指页面标记中放在引号中的值,而DOM属性则是指通过Javascript能够存取的值。

在jQuery中,可以通过.prop()方法取得和设置DOM属性:

//取得"checked"属性的当前值
var currentlyChecked = $('.my-checkbox').prop('checked');
//设置"checked"属性的值
$('.my-checkbox').prop('checked',false);

####表单控件的值

在取得和设置表单控件的值时,建议使用jQuery提供的.val()方法:

//取得文本输入框的当前值
var inputValue = $('#my-input').val();
//取得选项列表的当前值
var selectValue = $('#my-select').val();
//设置单选列表的值
$('#my-single-select').val('value3');
//设置多选列表的值
$('#my-multi-select').val(['value1','value2']);

###DOM树操作

####重新认识$()函数

$()函数就像一个工厂,它能够生成一个jQuery对象,指向CSS选择符所描述的一组元素。

$()函数不仅能够改变页面的视觉外观,更能改变页面中实际的内容。只要在这对圆括号中放入一组HTML元素,就能轻而易举地改变整个DOM结构。

####创建新元素

在FAQ页面中,一个常见的功能是出现在 每一对“问题-答案”后面的back to top(返回页面顶部)链接。

####插入新元素

若想把back to top链接插入到每个段落后面,因此就可以使用.inserAfter()方法。

.insertBefore()在现有元素外部、之前添加内容
.prependTo()在现有元素内部、之前添加内容
.appendTo()在现有元素内部、之后添加内容
.insertAfter()在现有元素外部、之后添加内容

移动元素

动态地放置并格式化脚注,就是插入操作在实际中的一种应用。

脚注方案:

为每个标注编号

为正文中标出提取脚注的位置,使用脚注的编号

在文本中的位置上创建一个指向对应脚注的链接,在脚注中创建返回文本位置的链接。


###复制元素

在复制元素时,需要使用jQuery的.clone()方法,这个方法能够创建任何匹配的元素集合的副本以便将来使用。

连同事件一起复制

在默认情况下,.clone()方法不会复制匹配的元素或其后代元素中绑定的事件。不过,可以为这个方法传递一个布尔值参数,将这个参数设置为true,就可以连同事件一起复制,即.clone(true)。


###内容setter和getter方法

.html()方法,.text()方法,取得匹配元素的内容,或者用新字符串替换匹配元素的内容。

.text()始终会取得或设置纯文本内容。在使用.text()取得内容时,所有HTML标签都将被忽略,而所有HTML实体也会被转换成对应的字符。


###DOM操作方法的简单归纳

(1)要在HTML中创建新元素,使用$()函数。

(2)要在每个匹配的元素中插入新元素,使用

.append() .appendTo() .perpend() .prependTo()

(3)要在每个匹配的元素相邻的位置上插入新元素,使用

.after()、inserAfter()、.before()、.inserBefore()

(4)要在每个匹配的元素外部插入新元素,使用:

.wrap()、.wrapAll()、.wrapInner()

(5)要用新元素或文本替换每个匹配的元素,使用:

.html()、.text()、.replaceAll()、.replaceWith()

(6)要移除每个匹配的元素中的元素,使用:

.empty()

(7)要从文档中移除每个匹配的元素及其后代元素,但不实际删除它们,使用:

.remove()、.detach()

jQuery——操作DOM的更多相关文章

  1. jQuery操作Dom、jQuery事件机制、jQuery补充部分

    jQuery操作Dom: 修改属性: //使用attr()方法 //attr(name, value) //name:要修改的属性的属性名 //value:对应的值 //attr方法,如果当前标签有要 ...

  2. web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记

    hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,a ...

  3. Hybrid App开发之jQuery操作DOM

    前言: 前面学习了JQuery的选择器,今天开始学习新的知识,JQuery操作DOM元素. 元素属性的访问与设置 attr(name) 获取元素属性 attr(name,value) 单个属性设置 a ...

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

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

  5. 第四章 使用jQuery操作DOM

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

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

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

  7. jQuery权威指南(第2版) 学习一 jQuery操作DOM

    jQuery操作DOM 获取元素的属性 attr(name) 获取元素属性的语法格式如下: attr(name) 其中,参数 name 表示属性的名称. 例子: <img alt="& ...

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

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

  9. jQuery操作dom事件

    参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...

  10. Unit01: jQuery概述 、 jQuery选择器 、 jQuery操作DOM

    Unit01: jQuery概述 . jQuery选择器 . jQuery操作DOM 使用jQuery放大字体: <!DOCTYPE html> <html> <head ...

随机推荐

  1. 微信小程序 - bilibili模仿

    今天真是个大坑,onLoad => 写成了OnLoad 程序一直没法执行, 晚上下班的时候,在微信的小程序中,this不可以直接访问data中的值,得this.data才能访问..

  2. Kubernetes官方java客户端之三:外部应用

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. 鸿蒙HarmonyOS应用开发落地实践,Harmony Go 技术沙龙落地北京

    12月26日,华为消费者BG软件部开源中心与51CTO Harmony OS技术社区携手,共同主办了主题为"Harmony OS 应用开发落地实践"的 Harmony Go 技术沙 ...

  4. ThreadX移植——STM32H7+MDK-AC6平台

    作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 在uCOS全家桶宣布开源之后被微软收购的ThreadX也开源了,真是喜大普奔,对于我们这些嵌入式行业从业者来说,能 ...

  5. 《计算机组成原理 》& 《计算机网络》& 《数据库》 Roadmap for self-taugh student

    计算机组成原理: UCB的这门课绝对是不错的资源. Great Ideas in Computer Architecture (Machine Structures) B站:https://www.b ...

  6. 深入汇编指令理解Java关键字volatile

    volatile是什么 volatile关键字是Java提供的一种轻量级同步机制.它能够保证可见性和有序性,但是不能保证原子性 可见性 对于volatile的可见性,先看看这段代码的执行 flag默认 ...

  7. 使用CDN访问免备案网站

    如何使用CDN绕过服务器域名备案 前言 不得不说,大陆需要备案,时间真的有点长,至少得5天~20天起步,对于我们这些火急火燎的站长还是比较难受的.这里教大家如何使用cdn绕过备案, 访问速度很快,亲测 ...

  8. RocketMQ在linx安装及其有关问题解决

    Linx安装和使用: rocketmq官网:http://rocketmq.apache.org/ 首先安装JDK(推荐使用JDK1.8),并配置环境变量 下载rocketmq压碎包并解压到指定目录 ...

  9. 中断与系统调用深度分析(以网络编程接口SocketAPI为例)

    1.从计算机CPU与I/O设备的交互方式谈起 计算机CPU与I/O设备的交互方式有最早的程序查询(也叫轮询)方式,发展到后来的程序中断方式,DMA方式等.简单来说,最早的程序查询方式的机制是,CPU若 ...

  10. uni-app开发经验分享二十一: 图片滑动解锁插件制作解析

    在开发用户模块的时候,相信大家都碰到过一个功能,图片滑动解锁后发送验证码,这里分享我用uni-app制作的一个小控件 效果如下: 需要如下图片资源 template <template> ...