jQuery的DOM操作之选择元素
.get()
用jQuery选择器选择出来的元素被包装为jQuery对象,而面对不同的需求可能需要我们获取的有时候是jQuery对象,有时候是原生DOM元素,此时使用get方法进行进一步的选择可获得原生DOM元素,如下例
<div class="demo1">1</div>
<div class="demo2">2</div>
<div class="demo3">3</div>
js代码
<script src="./jquery.js"></script> //引入jq文件
<script>console.log( $('div'));console.log( $('div').get(), '不传参');console.log( $('div').get(1),'传1');console.log( $('div').get(-1),'传-1');console.log( $('div').get(null),'传null');console.log( $('div').get(undefined),'传undefined');
</script>
【解释】get方法可传以上几种不同的参数,打印结果如下
.eq()方法
.eq()的作用:按索引选择指定的DOM,返回的是jq对象,因此可直接用jq方法进行链式调用,如下
html代码
<div class="demo">1</div>
<div class="demo">2</div>
<div class="demo">3</div>
js代码
<script src="./jquery.js"></script>
<script>$('div').eq(0).css({width: '50', height: '50', lineHeight: '50px',color: '#fff', textAlign: 'center', backgroundColor: '#424242'});
</script>
结果
.eq()的传参:
<script src="./jquery.js"></script>
<script>console.log( $('div').eq(), '不传参');console.log( $('div').eq(1),'传1');console.log( $('div').eq(-1),'传-1');console.log( $('div').eq(null),'传null');console.log( $('div').eq(undefined),'传undefined');
</script>
因为有容错机制,所以基本不会报错,打印结果如下
.find()
作用:找到指定的子元素,返回其jq对象,可传选择器,jQuery对象,Element(匹配当前元素集合的元素)
html代码
<div><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>
</div>
js代码
<script src="./jquery.js"></script>
<script>$('div').find('ul').css({listStyle: 'none'}).find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px'});console.log($('div').find('ul').find('li')); $('div').find('li').css({borderRadius: '10px', backgroundColor: '#424242', color: '#fff'});console.log($('div').find('li'));</script>
结果如下
由结果可知,find方法既可以一层一层匹配,也可以直接定位到某层的子元素,区别如下
.fliter()方法
作用:对选择出来的对象做进一步筛选,是限制条件,可传选择器,jQuery对象,函数等参数
【例1】传类选择器
html代码
<div><ul><li>1</li><li class="demo">2</li><li>3</li><li class="demo">4</li><li>5</li></ul>
</div>
js代码
$('div').find('ul').css({listStyle: 'none'}).find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: '#424242', color: '#fff'}).filter('.demo') //选择类名为demo的li元素.css({backgroundColor: 'steelblue'});
console.log($('div').find('ul').find('li').filter('.demo'));
结果
由上图可知已将类名为demo的li元素筛选出来
【例2】传过滤选择器
$('div').find('ul').css({listStyle: 'none'}).find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: '#424242', color: '#fff'}).filter(':even') //传过滤选择器,选择索引为偶数的元素.css({backgroundColor: 'steelblue'});
console.log($('div').find('ul').find('li').filter('.demo'));
结果
【例2】传函数
$('div').find('ul').css({listStyle: 'none'}).find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: '#424242', color: '#fff'}).filter(function (index) {return index == 4 || $(this).attr("class") == "demo";}).css({backgroundColor: 'steelblue'});
console.log($('div').find('ul').find('li').filter('.demo'));
结果
.not()方法
.not()是.filter()的反选
【例】
$('div').find('ul').css({listStyle: 'none'}).find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: '#424242', color: '#fff'}).not('.demo').css({backgroundColor: 'steelblue'});
console.log($('div').find('ul').find('li').filter('.demo'));
结果
.is()方法
作用:判断元素是否被jq选择器选中,如果选中返回true,未选中返回false。
var flag = $('div ul li').is('.demo');
var num = $('div ul li').is('p');
在控制台打印flag和num分别为
应用如下
html代码
<ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li>
</ul>
js代码
$('ul')
.css({listStyle: 'none', overflow: 'hidden'}).find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: '#424242', color: '#fff'})
$('ul').click(function (e) {if ($(e.target).is('li')) {console.log($(e.target).text());} else {console.log($(this).text());}
})
结果
.has()方法
作用:设选择器选择出来的元素为A,has所传参数选择出来的元素为B,则has方法返回的是包括B的A,即选择有B的A。
【例】
html代码
<div><ul><li><ul><li>1</li><li>2</li></ul></li><li><span>3</span></li><li><p>4</p></li></ul>
</div>
js代码
$('ul').css({listStyle: 'none'})
//选择包含ul的li元素,并对其子元素里的li进行操作
$('li').has('ul').find('li').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: '#424242', color: '#fff'})
//选择包含span的li元素,并对子元素span进行操作
$('li').has('span').find('span').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: 'steelblue', color: '#fff'})
//选择包含p的li元素,并对子元素p进行操作
$('li').has('p').find('p').css({width:'50', height: '50', lineHeight: '50px', textAlign: 'center', float: 'left', margin: '5px', borderRadius: '10px', backgroundColor: 'teal', color: '#fff'})
结果:(1,2)合起来是含有ul的li元素,3是含有span的li元素,4是含有p的li元素
.add()和.end()方法
作用:当需要给某类元素添加共同的方法,可以使用add()进行一次性处理,之后使用end(),使返回值退回到add()之前。
html代码
<div><ul><li>1-1</li><li>1-2</li><li>1-3</li></ul>
</div>
<ul><li>2-1</li><li>2-2</li><li>2-3</li>
</ul>
js代码
$('div').add('ul').css({overflow: 'hidden'})
$('div ul').add('ul').css({listStyle: 'none'}).find('li').css({float: 'left', margin: '5px'}).end().end().find('li').css({backgroundColor: 'steelblue'});
结果
第一行代码表示给div,还有所有的ul捆绑到一起后添加css属性
第二行代码表示,给div中的ul和另一个ul共同添加样式——>找到他们的子元素li,添加样式——>两个回退,回退到div中的ul ——>找到该ul下的li元素并给样式
终于把这块写完了,果然开网课会影响前端学习进度,不开心
不过还是不能被落下,奥利给~
jQuery的DOM操作之选择元素相关推荐
- jQuery 之 [ DOM操作 ]
jQuery的DOM操作 查找节点 元素节点 可以通过jQuery选择器来查找元素节点 属性节点 通过attr()方法来获取指定元素节点的属性节点 文本节点 通过text()方法来获取指定元素节点的文 ...
- jquery的dom操作之创建节点
1.创建元素节点 创建元素节点就是使用jquery创建纯净的html元素.比如下面 <!doctype html> <html lang="en"> < ...
- jquery的Dom操作查找节点
1.查找元素节点 使用之前的jquery的各种选择器按照语法:"$(选择器)"来定位到文档中的元素,我们定位后得到的是一个jquery对象.我们可以使用juery提供的方法来操作我 ...
- day05【JQuery框架】HTML引入Jquery、jQuery与JS区别、基本选择器、层级关系选择器、属性选择器、过滤选择器、 对象遍历、Jquery的DOM操作【重点】、Jquery事件绑定
回顾 1. bom对象window对象三种弹框alert()confirm()prompt()二种定时器一次性:setTimout() --- 通过递归实现循环性循环性:setInterval()lo ...
- 03-老马jQuery教程-DOM操作(上)
jQuery DOM操作 在没有jQuery之前,DOM的操作相对来说有点麻烦,尤其是DOM节点的搜索.目前我们已经学习了jQuery的选择器,接下带大家一块学习jQuery的DOM操作,jQuery ...
- jQuery的DOM操作
jQuery的DOM操作 前期:http://blog.csdn.net/goodshot/article/details/20202019 1 , 创建元素节点 传统的javascript方法,创建 ...
- day43 JavaWen阶段——JQuery 基础(JQuery相关开发文档,JQuery对象和JS对象区别与转换,JQuery选择器,JQuery中DOM操作,案列【QQ表情选择】【左右移动】)
今日内容 1. JQuery 基础: 概念 快速入门 JQuery对象和JS对象区别与转换 选择器 DOM操作 案例 今日源码: 链接:https://pan.baidu.com/s/1KiG0c_V ...
- jQuery中DOM操作
1.DOM操作的分类 DOM操作一般分为3个方面,即DOM Core.HTML-DOM和CSS-DOM. 2.查找节点 2.1查找元素节点 获取元素节点并打印它的文本内容 var $li = $(&q ...
- JQuery(下) DOM操作习题
jQuery DOM 操作文本 常用方法 <!DOCTYPE html> <html lang="en"> <head><meta cha ...
最新文章
- miniui文件上传 linux,MINIUI grid学习笔记
- 一大波物联网僵尸正在袭来,都有啥安全保护方法?
- ASP.NET MVC 3 Framework 学习笔记
- UVa11022 String Factoring(kmp+dp)
- 傅里叶变换:周期、非周期 与连续、离散
- TCP close_wait 状态的解释
- fasthttp 快在哪里
- 面试官:实现一个带值变更通知能力的Dictionary
- 微软的FreeBSD社区推广活动 北京站,你没看错!微软现在是一家名副其实的开源公司
- Educational Codeforces Round 73 (Rated for Div. 2) Make The Fence Great Again dp + 结论
- 将Windows文件挂在到Linux上
- php yii 海报,php – 找不到Yii2主题集成图像
- PHP exit函数介绍
- python使用virtualenv在本地新建虚拟环境
- 程序员c语言简历,程序员的简历该怎么写?当然是程序!
- java中改变文本字体和大小_Java实训——编写一个窗体程序,可以对文本区中的文字设置字体和大小。...
- poj 3678 Katu Puzzle 2-SAT
- 11000-雷达基本资料
- win7 计算机定时关机脚本,Win7制作定时关机bat脚本|Win7定时关机程序脚本
- 浙江学生头戴“金箍”,上课走神自动通知家长
热门文章
- 基于WinDbg的内存泄漏分析
- 看完这个“秒杀”设计方案!我有点慌了
- 音视频技术开发周刊 | 238
- WebRTC 速成课程
- LiveVideoStack线上交流分享 ( 三 ) —— 实时视频通信质量评价及寻找视频质量甜点的方法...
- 第一章 Spark系统概述
- 腾讯iOA零信任安全——IT变革下的新一代企业网
- Wireshark网络抓包(一)——数据包、着色规则和提示
- configure: error: Neither flex nor lex was found.
- Spark 2.2.0 集群部署