.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操作之选择元素相关推荐

  1. jQuery 之 [ DOM操作 ]

    jQuery的DOM操作 查找节点 元素节点 可以通过jQuery选择器来查找元素节点 属性节点 通过attr()方法来获取指定元素节点的属性节点 文本节点 通过text()方法来获取指定元素节点的文 ...

  2. jquery的dom操作之创建节点

    1.创建元素节点 创建元素节点就是使用jquery创建纯净的html元素.比如下面 <!doctype html> <html lang="en"> < ...

  3. jquery的Dom操作查找节点

    1.查找元素节点 使用之前的jquery的各种选择器按照语法:"$(选择器)"来定位到文档中的元素,我们定位后得到的是一个jquery对象.我们可以使用juery提供的方法来操作我 ...

  4. day05【JQuery框架】HTML引入Jquery、jQuery与JS区别、基本选择器、层级关系选择器、属性选择器、过滤选择器、 对象遍历、Jquery的DOM操作【重点】、Jquery事件绑定

    回顾 1. bom对象window对象三种弹框alert()confirm()prompt()二种定时器一次性:setTimout() --- 通过递归实现循环性循环性:setInterval()lo ...

  5. 03-老马jQuery教程-DOM操作(上)

    jQuery DOM操作 在没有jQuery之前,DOM的操作相对来说有点麻烦,尤其是DOM节点的搜索.目前我们已经学习了jQuery的选择器,接下带大家一块学习jQuery的DOM操作,jQuery ...

  6. jQuery的DOM操作

    jQuery的DOM操作 前期:http://blog.csdn.net/goodshot/article/details/20202019 1 , 创建元素节点 传统的javascript方法,创建 ...

  7. day43 JavaWen阶段——JQuery 基础(JQuery相关开发文档,JQuery对象和JS对象区别与转换,JQuery选择器,JQuery中DOM操作,案列【QQ表情选择】【左右移动】)

    今日内容 1. JQuery 基础: 概念 快速入门 JQuery对象和JS对象区别与转换 选择器 DOM操作 案例 今日源码: 链接:https://pan.baidu.com/s/1KiG0c_V ...

  8. jQuery中DOM操作

    1.DOM操作的分类 DOM操作一般分为3个方面,即DOM Core.HTML-DOM和CSS-DOM. 2.查找节点 2.1查找元素节点 获取元素节点并打印它的文本内容 var $li = $(&q ...

  9. JQuery(下) DOM操作习题

    jQuery DOM 操作文本 常用方法 <!DOCTYPE html> <html lang="en"> <head><meta cha ...

最新文章

  1. miniui文件上传 linux,MINIUI grid学习笔记
  2. 一大波物联网僵尸正在袭来,都有啥安全保护方法?
  3. ASP.NET MVC 3 Framework 学习笔记
  4. UVa11022 String Factoring(kmp+dp)
  5. 傅里叶变换:周期、非周期 与连续、离散
  6. TCP close_wait 状态的解释
  7. fasthttp 快在哪里
  8. 面试官:实现一个带值变更通知能力的Dictionary
  9. 微软的FreeBSD社区推广活动 北京站,你没看错!微软现在是一家名副其实的开源公司
  10. Educational Codeforces Round 73 (Rated for Div. 2) Make The Fence Great Again dp + 结论
  11. 将Windows文件挂在到Linux上
  12. php yii 海报,php – 找不到Yii2主题集成图像
  13. PHP exit函数介绍
  14. python使用virtualenv在本地新建虚拟环境
  15. 程序员c语言简历,程序员的简历该怎么写?当然是程序!
  16. java中改变文本字体和大小_Java实训——编写一个窗体程序,可以对文本区中的文字设置字体和大小。...
  17. poj 3678 Katu Puzzle 2-SAT
  18. 11000-雷达基本资料
  19. win7 计算机定时关机脚本,Win7制作定时关机bat脚本|Win7定时关机程序脚本
  20. 浙江学生头戴“金箍”,上课走神自动通知家长

热门文章

  1. 基于WinDbg的内存泄漏分析
  2. 看完这个“秒杀”设计方案!我有点慌了
  3. 音视频技术开发周刊 | 238
  4. WebRTC 速成课程
  5. LiveVideoStack线上交流分享 ( 三 ) —— 实时视频通信质量评价及寻找视频质量甜点的方法...
  6. 第一章 Spark系统概述
  7. 腾讯iOA零信任安全——IT变革下的新一代企业网
  8. Wireshark网络抓包(一)——数据包、着色规则和提示
  9. configure: error: Neither flex nor lex was found.
  10. Spark 2.2.0 集群部署