jq学习

$( ".class" ),$( "element" )

  • 原生:样式是可以多选的,所以得到的是一个合集,需要通过循环给合集中每一个元素修改样式
  • jQuery:class选择器可以选择多个元素,不需要循环
var divs = document.getElementsByClassName('aaron');
        for (var i = 0; i < divs.length; i++) {
            divs[i].style.border = "3px solid blue";
        }
$(.aaron).css("border", "3px solid red");

$( "*" )

  • IE会将注释节点实现为元素,所以在IE中调用getElementsByTagName里面会包含注释节点,这个通常是不应该的

jQuery选择器之层级选择器

  • 子选择器:$('div > p') 选择所有div元素里面的子元素P
  • 后代选择器:$('div p') 选择所有div元素里面的p元素
  • 相邻兄弟选择器:$('pre+next')
    选择紧邻在pre元素后的next元素

jq基本筛选器

  1. $("div:first")匹配div下的第一个元素

  2. $("div:last")匹配div下的最后一个元素

  3. $("div:not(p)")过滤选择器,选择所有元素但不包括括号中的

  4. $("div:eq(index)")在匹配的集合中选择索引值index的元素
    eq就是equal等于的意思

  5. $("div:gt(index)")选择匹配集合中所有大于给定index(索引值)的元素
    gt是gather than 大于的意思

  6. $("div:lt(index)")选择匹配集合中所有小于给定index(索引值)的元素
    lt是litter than 小于的意思

  7. $("div:even")选择索引值为偶数的元素,从0开始计数

  8. $("div:odd")选择索引值为奇数的元素,从0开始计数

  9. $("div:animated")选择所有执行动画效果的元素

  10. $("div:root")选择该文档的根元素

  11. $("div:header")选择所有标题元素

jq可见性筛选选择器?

  • $(":visible") 选择所有显示的元素;
  • $(":hidden") 选择所有隐藏的元素;
    :hidden 选择器,不仅仅包含样式 display="none"的元素,还包括隐藏表单、visibility等等
  • 我们有几种方式可以隐藏一个元素:
  1. CSS display的值是 none
  2. type="hidden"的表单元素
  3. 宽度和高度都显式设置为 0
  4. 一个祖先元素是隐藏的,该元素是不会在页面上显示
  5. CSS visibility的值是 hidden
  6. CSS opacity的指是 0
  7. 如果元素中占据文档中一定的空间,元素被认为是可见的。
    可见元素的宽度或高度,是大于零。
    元素的visibility: hidden 或 opacity: 0被认为是可见的,因为他们仍然占用空间布局。
  8. 不在文档中的元素是被认为是不可见的,如果当他们被插入到文档中,jQuery没有办法知道他们是否是可见的,因为元素可见性依赖于适用的样式

属性筛选选择器

  • $('div[name=p1]'): //查找所有div中,属性name=p1的div元素
  • $('div[p2]'): //查找所有div中,有属性p2的div元素
  • $('div[name|="-"]')//查找所有div中,有属性name中的值只包含一个连字符“-”的div元素,或以连字符‘-’相连的前缀为字符“-”的div
  • $('div[name~="a"]') //查找所有div中,有属性name中的值包含一个连字符“空”和“a”的div元素,以空格风格的属性中有属性值a
  • $('div[name^=imooc]') //查找所有div中,属性name的值是用imooc开头的
  • $('div[name$=imooc]') //查找所有div中,属性name的值是用imooc结尾的
  • $('div[name*="test"]')
    //查找所有div中,有属性name中的值包含一个test字符串的div元素
  • $('div[testattr!="true"]')//查找所有div中,有属性testattr中的值没有包含"true"的div

子元素筛选选择器

$
(':first-child'):针对所有父元素下的第一个子元素
$(':last-child'):针对所有父元素下的最后一个子元素
$(':only-child'):针对所有父元素下的只有一个子元素(只有唯一一个子元素)
$(':nth-child(n)')针对所有父元素下的弟n个元素(这里的n是从1开始计数)
$(':nth-last-child(n)')针对所有父元素下的倒数弟n个元素

  • 注意:
  1. :first只匹配一个单独的元素,但是:first-child选择器可以匹配多个:即为每个父级元素匹配第一个子元素。这相当于:nth-child(1)
  2. jQuery实现:nth-child(n)是严格来自CSS规范,所以n值是“索引”,也就是说,从1开始计数,:nth-child(index)从1开始的,而eq(index)是从0开始的

表单元素选择器

  1. $(":input") 选择所有input,testarea,select和button元素;
  2. $(":text") 匹配所有文本框;
  3. $(":password") 匹配所有密码框;
  4. $(":radio") 匹配所有单选按钮;
  5. $(":checkbox") 匹配所有复选框;
  6. $(":submit") 匹配所有提交按钮;
  7. $(":image") 匹配所有图像域;
  8. $(":reset") 匹配所有重置按钮;
  9. $("button") 匹配所有按钮;
  10. $("file") 匹配所有文件域;

表单对象属性筛选选择器

  • $(":enabled") 选取可以使用的表单元素
  • $(":disabled")选取不可以使用的表单元素
  • $(":checked")选取被选择中的<input>
  • $(":selected")选取被选择中的<option>元素
  • 注意: 选择器适用于复选框和单选框,对于下拉框元素, 使用 :selected 选择器
    在某些浏览器中,选择器:checked可能会错误选取到<option>元素,所以保险起见换用选择器input:checked,确保只会选取<input>元素

特殊选择器this

$('p').click(function(){
    //把p元素转化成jQuery的对象
    var $this= $(this) 
    $this.css('color','red')
})

attr()与.removeAttr()

  • attr()有4个表达式:
  1. attr(传入属性名):获取属性的值
  2. attr(属性名, 属性值):设置属性的值
  3. attr(属性名,函数值):设置属性的函数值
  4. attr(attributes):给指定元素设置多个属性值,即:{属性名一: “属性值一” , 属性名二: “属性值二” , … … }
  • removeAttr()删除方法:
    .removeAttr( attributeName ) : 为匹配的元素集合中的每个元素中移除一个属性(attribute)
  • 注意:Property是这个DOM元素作为对象,其附加的内容,例如,tagName, nodeName, nodeType,, defaultChecked, 和 defaultSelected 使用.prop()方法进行取值或赋值等,获取Attribute就需要用attr,获取Property就需要用prop

html()及.text()

  • .html()方法 :获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容,具体有3种用法:
  1. .html() 不传入值,就是获取集合中第一个匹配元素的HTML内容
  2. .html( htmlString ) 设置每一个匹配元素的html内容
  3. .html( function(index, oldhtml) ) 用来返回设置HTML内容的一个函数
  • .text()方法:得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。,具体有3种用法:
  1. .text() 得到匹配元素集合中每个元素的合并文本,包括他们的后代
  2. .text( textString ) 用于设置匹配元素内容的文本
  3. .text( function(index, text) ) 用来返回设置文本内容的一个函数

.val()

  • .val()方法主要是用于处理表单元素的value值,比如 input, select 和 textarea。具体有3种用法:
  1. .val()无参数,获取匹配的元素集合中第一个元素的当前值
    2 .val( value ),设置匹配的元素集合中每个元素的值
  2. .val( function ) ,一个用来返回设置值的函数
  3. 通过.val()处理select元素, 当没有选择项被选中,它返回null
  4. .val()方法多用来设置表单的字段的值
    如果select元素有multiple(多选)属性,并且至少一个选择项被选中, .val()方法返回一个数组,这个数组包含每个选中选择项的值

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,563评论 18 139
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,344评论 0 44
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,452评论 1 19
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,023评论 0 2
  • “迷茫”这个词可谓是当今时代的惯用代名 01 毕业生刚毕业迷茫,毕业即是失业。 作为一名普通毕业生,在学校这个舒适...
    小李z阅读 2,904评论 21 52