jQuery操作DOM元素
作为一个后端程序员,也是要和前端页面打交道的。最常见的场景莫过DOM元素操作和前端页面使用AJAX向服务器发送请求。
实现上述两个功能当然可以使用原生js来完成,但在实际开发过程中很少这样做,通常会使用一些别人封装好的js库来辅助我们的工作,jQuery就是这些辅助库中的一员。
常用选择器
| 选择器 | 说明 |
|---|---|
| element | $('标签名'),$('a')选取页面上的所有a标签,返回类型是DOM元素数组 |
| class | $('.类名'),$('.cls')选取页面上class属性为cls的标签,返回类型是DOM元素数组 |
| id | $('#value'),选取页面上id=value的标签 |
| $('[name]'),选取带有name属性的标签,返回类型是DOM元素数组 | |
| $('[name="tag"]'),选取name=tag的标签,返回类型是DOM元素数组 | |
| attribute | $('[name!="tag"]'),选取name不等于tag的标签,返回类型是DOM元素数组 |
| $('[href=".jpg"]'),选取所有href属性值以 ".jpg" 结尾的标签,返回类型是DOM元素数组 |
| : | 说明 |
|---|---|
| :hidden | $("label:hidden"),所有隐藏的label元素,返回类型是DOM元素数组 |
| :visible | $("lable:visible"),所有可见的label元素,返回类型是DOM元素数组 |
| :first | $("p:first"),选择页面上的第一个p元素 |
| :last | $("p:last"),选择页面上的最后一个p元素 |
| :even | $("tr:even"),选取页面上索引为偶数的tr元素,返回类型是DOM元素数组 |
| :odd | $("tr:odd"),选取页面上索引为奇数的tr元素,返回类型是DOM元素数组 |
| :not() | $("input:not(:empty)"),所有不为空的 input 元素 |
| input | 说明 |
|---|---|
| :input | 选取页面上的所有input元素,返回类型是DOM元素数组 |
| :type | $(":text")等价于$('input[type=text]'),选取页面中所有type="text"的input元素。input常用type值有text,radio,checkbox,text,submit,password等。 |
选择器的综合使用
//操作多种标签
$('p,div,input').attr('name','multi'); // 一个标签使用多个样式类
<div class='main-title ng-binding ng-scope'></div>
$('.main-title.ng-binding.ng-scope'); //选取被选中的radiobutton
$(':radio[name=""]:checked');
或
$(':radio:checked');//选取页面上所有被选中的radiobutton //选取class属性值是style的p标签
$('p.style'); //选取div所有子元素中的p标签
$('div p');
或
$('div>p').; //获取值是★的td标签
$('td:contains("★")') //选择id='table'的标签中的第一个tr标签
$('#table tr:first'); //选取id='table'标签中的索引为奇数且没有使用类名为'last'的所有tr标签
//且为选择的元素添加even类
$('#table tr:odd:not(.last)').addClass('even'); //对id='table'标签中的索引大于0小于3的所有tr标签使用类名为'three'的样式
$('#table tr:gt(0):lt(3)').addClass('three'); //表单
$("#form1 :enabled");//选取id为form1的表单内所有启用的元素
$("#form1:enabled");//选取id为form1的已启用的表单,注意这里#form1和:enabled之间没有空格,有空格表示选取子元素
$("#form1 :disabled");//选取id为form1的表单内所有禁用的元素
常用方法
jQuery的方法只有jQuery对象才可以调用,DOM对象不能调用。
DOM对象和jQuery对象的相互转换
//DOM转jQuery
var win=$(window);//将window转换为jQuery对象
//jQuery对象win转DOM对象
win.get[0];
//或
win[0];
| 样式属性 | 说明 |
|---|---|
| attr() | $('#key').attr('id'),获取id属性值;$('#key').attr('name','tag'),设置name属性值为tag,$('#key').attr('id',''),将id属性值设为默认值 |
| removeAttr | 删除属性,删除的属性不再占用内存资源,在源代码中看不到 |
| css() | $('#key').css('color','red'),设置id=key的标签文本颜色为红色 |
| addClass('className') | 给元素添加样式 |
| removeClass('className') | 移除样式 |
| toggleClass('className') | 启用或关闭样式 |
| 内容操作 | 说明 |
|---|---|
| text() | 针对非input使用,text()获取元素中的文本,text('str')设置元素文本为str |
| html() | 和text类似,不同之处是html()可以使用html样式,$('p').html('<b>p</b>'),p标签上显示粗体字母p |
| val() | 针对input使用,val()获取元素中的value属性值,value('str')设置元素value属性值为str |
| load() | 发送AJAX请求,重新获取标签要呈现的内容$('#lessonList').empty().load('/Lesson/UnionSearch/conditions?' + conditions); |
| 元素操作 | 说明 |
|---|---|
| hide() | 隐藏元素 |
| show() | 显示元素 |
$('<p id="pTag"></p>') |
创建p元素 |
| append() | 向元素末尾添加子元素 |
| appendTo() | 将元素添加到指定的元素末尾 |
| children('selector') | 获取标签的所有子元素(不包括子元素的子元素),selector表示选择器,可省略 |
| find('selector') | 根据selector获取元素的所有子元素(包括子元素的子元素),selector不可省略 |
| each() | 遍历元素数组,例:$('p').each(function(){$(this).text('p');}); |
结语
以上这些是我在开发过程常用到的一些选择器和方法,在此做个总结以备后续查询使用。
最后说一点,同一个jQuery方法,可能会因为jQuery版本的不同而产生不同的效果。
jQuery操作DOM元素的更多相关文章
- web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记
hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,a ...
- JS/JQuery操作DOM元素笔记
原因 自己目前在搭建一个.NET Core的框架,正在构建权限这块的东西,今天设置权限界面,需要使用JavaScript操作DOM元素,记录一下. 页面大概是酱紫的(我使用的AdminLTE和LayU ...
- jquery 操作DOM元素(1)
.clone() 创建一个匹配的元素集合的深度拷贝. .clone([withDataAndEvents]) withDataAndEvents (默认为false) 一个Boolean 表示是否会复 ...
- jquery操作DOM 元素(3)
.detach() 从DOM 中去掉所匹配的元素. .detach([selector]) selector 一个选择表达式将需要移除的从匹配的元素中过滤出来. $("p").de ...
- jquery操作DOM 元素(2)
.after() 在匹配的元素集合中的每个元素后面插入参数指定的内容,作为其兄弟节点. .after(content[,content]) content HTML字符串 DOM 元素 元素数组 对象 ...
- 三、jQuery--jQuery基础--jQuery基础课程--第5章 jQuery 操作DOM元素
1.使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,attr(属性名,属性值)格式则是设置元素属性名的值. 例如,使 ...
- Jquery 操作DOM元素
一.文本输入框: text <input type=”text” value=”99.com” size=12 id=”input1” /> 1.获取文本值: $("#input ...
- Hybrid App开发之jQuery操作DOM
前言: 前面学习了JQuery的选择器,今天开始学习新的知识,JQuery操作DOM元素. 元素属性的访问与设置 attr(name) 获取元素属性 attr(name,value) 单个属性设置 a ...
- JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)
JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...
随机推荐
- Git Bash的一些命令和配置
查看git版本号: git --version 如果是第一次使用Git,你需要设置署名和邮箱: $ git config --global user.name "用户名" $ gi ...
- Matlab数值计算示例: 牛顿插值法、LU分解法、拉格朗日插值法、牛顿插值法
本文源于一次课题作业,部分自己写的,部分借用了网上的demo 牛顿迭代法(1) x=1:0.01:2; y=x.^3-x.^2+sin(x)-1; plot(x,y,'linewidth',2);gr ...
- jQuery学习之路(1)-选择器
▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...
- JavaScript动画-磁性吸附
▓▓▓▓▓▓ 大致介绍 磁性吸附是以模拟拖拽为基础添加一个拖拽时范围的限定而来的一个效果,如果对模拟拖拽有疑问的同学请移步模拟拖拽. 源代码.效果:点这里 ▓▓▓▓▓▓ 范围限定(可视区) 先来看一个 ...
- Open-Test 测试驱动模式与版本号管理机制
以测试用例驱动项目开发,coding/case俩条线并走模式. 1.开发人员只负责功能实现: 2.测试人员提供自测用例,研发人员jenkins持续集成项目后自动化执行自测用例,通过后方可转测试 ...
- 深入学习HBase架构原理
HBase定义 HBase 是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtabl ...
- windows 7(32/64位)GHO安装指南(序篇)~
大家好,本人是高三刚毕业,即将踏入校园的程序猿~我写这篇文章呢,主要是想巩固一下之前对于电脑的基础知识理论,也希望能帮助没有电脑基础的同学能维护一下自己的电脑,要是能帮助女生修电脑那就是更好啦~~哈哈 ...
- Linux监控工具介绍系列——OSWatcher Black Box
OSWatcher Balck Box简介 OSWatcher Black Box (oswbb)是Oracle开发.提供的一个小巧,但是实用.强大的系统工具,它可以用来抓取操作系统的性能指标,用 ...
- SpringMVC入门
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模 ...
- js动态加载css和js
之前写了一个工具类点此链接里面含有这段代码,感觉用处挺多,特意提出来 var loadUtil = { /* * 方法说明:[动态加载js文件css文件] * 使用方法:loadUtil.loadjs ...