php class有两个值,jquery选择器同时有2个class是什么意思和获取class方法介绍

在CSS3选择器标淮定义的选择器语法中,jQuery支持相当完整的一套子集,同时还添加了一些非标准但很有用的伪类。注意:本节讲述的是 jQuery选择器。其中有不少选择器(但不是全部)可以在CSS样式表中使用。选择器语法有三层结构。你肯定已经见过选择器中最简单的形式。”#te st”选取id属性为”test”的元素。”blockquote”选取文档中的所有

元素,而”div.note” 则选取所有class属性为”note”的
元素。简单选择器可以组合成“组合选择器”,比如 “div.note>p”和“blockquote i”,只要用组合字符做分隔符就行。简单选择器和组合选择器还可以分组成逗号分隔的列表。这种选择器组是传递给$()函数最常见的形式。

1、简单选择器

简单选择器的开头部分(显式或隐式地)是标签类型声明。例如,如果只对

元素感兴趣,简单选择器可以用“P”开头。如果选取的元素和标签名无关,则可以使用通配符“*”号来代替。如果选择器没有以标签名或通配符开头,则隐式含有一个通配符。

标签名或通配符指定了备选文档元素的一个初始集。在简单选择器中,标签类型声明之后的部分由零个或多个过滤器组成。过滤器从左到右应用,和书写顺序一致,其中每一个都会缩小选中元素集。

2、组合选择器

使用特殊操作符或“组合符”可以将简单选择器组合起来,表达文档树中元素之间的关系。下表列举了jQuery支持的组合选择器。这些组合选择器与CSS3支持的组合选择器是一样的。

3、选择器组

传递给$()函数(或在样式表中使用)的选择器就是选择器组,这是一个逗号分隔的列表,由一个或多个简单选择器或组合选择器构成。选择器组匹配的元 素只要匹配该选择器组中的任何一个选择器就行。对我们来说,一个简单选择器也可以认为是一个选择器组。

一. jquery选择器中两个class是什么意思?

$(".class1 .class2") 选择class1元素下class2的元素(中间有空格)

$(".class1.class2") 选择同时含有class1和class2的元素(中间没有空格)

$(".class1,.class2") 选择class1或者class2的元素(中间有逗号)

jQuery的选择器和css选择器基本一样,例如:

css选择多个class为:.class1.class2

jQuery选择多个class为:$(".class1.class2")

二. jquery 选择器 怎样获取class='aaa'的DIV元素

jQuery的元素选择器可以根据class选择元素。例如,获取class='aaa'的DIV元素的代码为:$("div.aaa") 。下面提供一个具体的示例,HTML结构如下:

1、获取id为b的div下的aaa类元素

$("div.aaa")获取的是所有的aaa类,如果限定为b元素下的aaa类,可以配合后代选择器使用,代码为:$("div#b div.aaa") .

2、获取id为a或者c的div下的aaa类元素

如果需要获取多个不同类型的对象,可以使用逗号(,)分隔,所以相应代码为: $("#a .aaa, #c .aaa") .

三. jQuery中class选择器的限制document.getElementsByClassName(className);

这里用了getElementsByClassName,低版本IE根本不认识,自然不行。但是转念想想又很奇怪,这个脚本明明是基于jQuery的,为什么不用$(“.className”)而用这个API呢?于是我尝试改了一下,用$(“.” + className).get()来获得DOM元素传递给下面的脚本,结果果然不行,一下子激起了兴趣。

debug后发现,获得的className是data[XXX][yyy]这样的格式,确实class中方括号[]恐怕不是合法的字符,用原生的querySelecotr也无法找到,但是getElementsByClassName却可以找到,不禁赞叹造物神奇……

赞叹过后,问题还是要解决的,不太可能让对方不使用IE8,还好绕个弯一试,

$(“class*='” + className + “‘”)

这样的方式是可以获得的,虽然效率应该是降了一个档次,不过也算是可以使用了。

严格来说这不是jQuery的限制,jQuery的表现完全在意料之中,应该说getElementsByClassName的表现有额外惊喜吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值