jquery的id选择器,js中id选择器

id选择器/类选择器/元素选择器/全选择器

id选择器:一个用来查找的ID,即元素的id属性

龙亭网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

id选择器也是基本的选择器,jQuery内部使用JavaScript函数document.getElementById()来处理ID的获取。原生语法的支持总是非常高效的,所以在操作DOM的获取上,如果能采用id的话尽然考虑用这个选择器

值得注意:

id是唯一的,每个id值在一个页面中只能使用一次。如果多个元素分配了相同的id,将只匹配该id选择集合的第一个DOM元素。但这种行为不应该发生;有超过一个元素的页面使用相同的id是无效的

类选择器,顾名思义,通过class样式类名来获取节点

描述:

类选择器,相对id选择器来说,效率相对会低一点,但是优势就是可以多选

元素选择器

元素选择器:根据给定(html)标记名称选择所有的元素

描述:

全选择器

抛开jQuery,如果要获取文档中所有的元素,通过document.getElementsByTagName()中传递"*"同样可以获取到

不难发现,id、class、tag都可以通过原生的方法获取到对应的节点,但是我们还需要考虑一个兼容性的问题,我这里顺便提及一下,比如:

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

getElementById的参数在IE8及较低的版本不区分大小写

IE7及较低的版本中,表单元素中,如果表单A的name属性名用了另一个元素B的ID名并且A在B之前,那么getElementById会选中A

IE8及较低的版本,浏览器不支持getElementsByClassName

jQuery 如何通过 ID 选择器 获取动态ID

使用Jquery获取某个div时需要这样写:$("#" + 所定义的id变量名)代码如下黑体加粗部分:

div id="{{hospital.id + 'hospital'}}" class="z_tl z_t2 clearfix z_poaR"

ng-click="openDoctorList(hospital.id,hospital.name)"

$scope.openDoctorList = function (id,hospitalName) {

$scope.uniqueHospitalId = id;

var hospitalId = id + "hospital";

if($scope.cacheHospitalId != id){

$("#"+hospitalId).attr("class","z_tl clearfix z_poaR");

}

if($scope.cacheHospitalId == id){

$("#"+hospitalId).attr("class","z_tl z_t2 clearfix z_poaR");

$scope.doctorList = null;

}

$scope.cacheHospitalId = id;

}

扩展资料:

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

参考资料:

Jquery官方API -ID Selector (“#id”)

JQuery官方API接口-.attr()

百度百科-JQuery

jquery选择器有哪些

jQuery 选择器简介

jQuery 选择器允许对 HTML 元素组或单个元素进行操作。

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 中所有选择器都以美元符号开头:$()。

1 .基本选择器

$("#test")                选择id值为test的元素,id值是唯一的所以返回单个元素。

$("div")                  选择所有的div标签元素,返回div元素数组

$(".myclass")             选择使用myclass类的css的所有元素

$("*")                    选取所有元素。

$("#test,div,.myclass")      选取多个元素。

2.层次选择器

$("div span")   选取div里的所有span元素

$("div span")     选取div元素下元素名是span的子元素

$("#one +div")     选取id为one的元素的下一个div同辈元素    等同于$("#one").next("div")

$("#one~div")      选取id为one的元素的元素后面的所有div同辈元素    等同于$("#one").nextAll("div")

$("#one").siblings("div")    获取id为one的元素的所有div同辈元素(不管前后)

$("#one").prev("div")  获取id为one的元素的前面紧邻的同辈div元素

所以 获取元素范围大小顺序依次为:

$("#one").siblings("div")$("#one~div")$("#one +div")

或是

$("#one").siblings("div")$("#one").nextAll("div")$("#one").next("div")

3.基本过滤选择器

$("div:first")               选取所有div元素中第1个div元素

$("div:last")                   选取所有div元素中最后一个div元素

$("input:not(.myClass)")        选取class不是myClass的input元素

$("input:even")                 选取索引是偶数的input元素(索引从0开始)

$("input:odd")                  选取索引是基数的input元素(索引从0开始)

$("input:eq(2)")                选取索引等于2的input元素

$("input:gt(4)")                选取索引大于4的input元素

$("input:lt(4)")                选取索引小于4的input元素

$(":header")                    过滤掉所有标题元素,例如:h1、h2、h3等

$("div:animated")               选取正在执行动画的div元素

$(":focus")                     选取当前获取焦点的元素

4.内容过滤选择器

$("div:contains('Name')")       选取所有div中含有'Name'文本的元素

$("div:empty")                  选取不包含子元素(包括文本元素)的div空元素

$("div:has(p)")                 选取所有含有p元素的div元素

$("div:parent")                 选取拥有子元素的(包括文本元素)div元素

5.可见性过滤选择器

$("div:hidden")                 选取所有不可见的div元素

$("div:visible")                选取所有可见的div元素

6.属性过滤选择器

$("div[id]")              选取所有拥有属性id的元素

$("input[name='test']")     选取所有的name属性等于'test'的input元素

$("input[name!='test']")  选取所有的name属性不等于'test'的input元素

$("input[name^='news']")        选取所有的name属性以'news'开头的input元素

$("input[name$='news']")        选取所有的name属性以'news'结尾的input元素

$("input[name*='news']")        选取所有的name属性包含'news'的input元素

$("div[title|='en']")           选取属性title等于'en'或以'en'为前缀(该字符串后跟一个连字符'-')的div元素

$("div[title~='en']")           选取属性title用空格分隔的值中包含字符en的div元素

$("div[id][title$='test']")     选取拥有属性id,并且属性title以'test'结束的div元素

7.子元素过滤选择器

$("div .one:nth-child(2)")       选取class为'one'的div父元素下的第2个子元素

$("div span:first-child")        选取每个div中的第1个span元素

$("div span:last-child")         选取每个div中的最后一个span元素

$("div button:only-child")       在div中选取是唯一子元素的button元素

8.表单对象属性过滤选择器

$("#form1 :enabled")             选取id为'form1'的表单内所有可用元素

$("#form2 :disabled")            选取id为'form2'的表单内所有不可用元素

$("input :checked")              选取所有被选中的input元素

$("select option:selected")      选取所有的select 的子元素中被选中的元素

9.表单选择器

$(":input")                      选取所有input,textarea,select 和 button元素

$(":text")                    选取所有的单行文本框

$(":password")                   选取所有的密码框

$(":radio")                      选取所有单的选框

$(":checkbox")                   选取所有的多选框

$(":submit")                     选取所有的提交按钮

$(":image")                      选取所有的图像按钮

$(":reset")                      选取所有的重置按钮

$(":button")                     选取所有的按钮

$(":file")                       选取所有的上传域

$(":hidden")                     选取所有不可见元素

Jquery有哪些选择器

选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写jQuery代码的效率。本文配合截图、代码和简单的概括对所有jQuery选择器进行了介绍,也列举出了一些需要注意和区分的地方。

一、基本选择器

1. id选择器(指定id元素)

将id="one"的元素背景色设置为黑色。(id选择器返单个元素)

$(document).ready(function () {

$('#one').css('background', '#000');

});

2. class选择器(遍历css类元素)

将class="cube"的元素背景色设为黑色

$(document).ready(function () {

$('.cube').css('background', '#000');

});

3. element选择器(遍历html元素)

将p元素的文字大小设置为12px

$(document).ready(function () {

$('p').css('font-size', '12px');

});

4. * 选择器(遍历所有元素)

$(document).ready(function () {

// 遍历form下的所有元素,将字体颜色设置为红色

$('form *').css('color', '#FF0000');

});

5. 并列选择器

$(document).ready(function () {

// 将p元素和div元素的margin设为0

$('p, div').css('margin', '0');

});

二、 层次选择器

1. parent  child(直系子元素)

$(document).ready(function () {

// 选取div下的第一代span元素,将字体颜色设为红色

$('div  span').css('color', '#FF0000');

});

下面的代码,只有第一个span会变色,第二个span不属于div的一代子元素,颜色保持不变。

div

span123/span

p

span456/span

/p

/div

2. prev + next(下一个兄弟元素,等同于next()方法)

$(document).ready(function () {

// 选取class为item的下一个div兄弟元素

$('.item + div').css('color', '#FF0000');

// 等价代码

//$('.item').next('div').css('color', '#FF0000');

});

下面的代码,只有123和789会变色

p class="item"/p

div123/div

div456/div

span class="item"/span

div789/div

3. prev ~ siblings(prev元素的所有兄弟元素,等同于nextAll()方法)

$(document).ready(function () {

// 选取class为inside之后的所有div兄弟元素

$('.inside ~ div').css('color', '#FF0000');

// 等价代码

//$('.inside').nextAll('div').css('color', '#FF0000');

});

下面的代码,G2和G4会变色

div class="inside"G1/div

divG2/div

spanG3/span

divG4/div

三、 过滤选择器

1. 基本过滤选择器

——1.1 :first和:last(取第一个元素或最后一个元素)

$(document).ready(function () {

$('span:first').css('color', '#FF0000');

$('span:last').css('color', '#FF0000');

});

下面的代码,G1(first元素)和G3(last元素)会变色

spanG1/span

spanG2/span

spanG3/span

——1.2 :not(取非元素)

$(document).ready(function () {

$('div:not(.wrap)').css('color', '#FF0000');

});

下面的代码,G1会变色

divG1/div

div class="wrap"G2/div

但是,请注意下面的代码:

div

G1

div class="wrap"G2/div

/div

当G1所在div和G2所在div是父子关系时,G1和G2都会变色。

——1.3 :even和:odd(取偶数索引或奇数索引元素,索引从0开始,even表示偶数,odd表示奇数)

$(document).ready(function () {

$('tr:even').css('background', '#EEE'); // 偶数行颜色

$('tr:odd').css('background', '#DADADA'); // 奇数行颜色

});

A、C行颜色#EEE(第一行的索引为0),B、D行颜色#DADADA

table width="200" cellpadding="0" cellspacing="0"

tbody

trtdA/td/tr

trtdB/td/tr

trtdC/td/tr

trtdD/td/tr

/tbody

/table

——1.4 :eq(x) (取指定索引的元素)

$(document).ready(function () {

$('tr:eq(2)').css('background', '#FF0000');

});

更改第三行的背景色,在上面的代码中C的背景会变色。

——1.5 :gt(x)和:lt(x)(取大于x索引或小于x索引的元素)

$(document).ready(function () {

$('ul li:gt(2)').css('color', '#FF0000');

$('ul li:lt(2)').css('color', '#0000FF');

});

L4和L5会是红色,L1和L2会是蓝色,L3是默认颜色

ul

liL1/li

liL2/li

liL3/li

liL4/li

liL5/li

/ul

——1.6 :header(取H1~H6标题元素)

$(document).ready(function () {

$(':header').css('background', '#EFEFEF');

});

下面的代码,H1~H6的背景色都会变

h1H1/h1

h2H2/h2

h3H3/h3

h4H4/h4

h5H5/h5

h6H6/h6

2. 内容过滤选择器

——2.1 :contains(text)(取包含text文本的元素)

$(document).ready(function () {

// dd元素中包含"jQuery"文本的会变色

$('dd:contains("jQuery")').css('color', '#FF0000');

});

下面的代码,第一个dd会变色

dl

dt技术/dt

ddjQuery, .NET, CLR/dd

dtSEO/dt

dd关键字排名/dd

dt其他/dt

dd/dd

/dl

——2.2 :empty(取不包含子元素或文本为空的元素)

$(document).ready(function () {

$('dd:empty').html('没有内容');

});

上面第三个dd会显示"没有内容"文本

——2.3 :has(selector)(取选择器匹配的元素)

$(document).ready(function () {

// 为包含span元素的div添加边框

$('div:has(span)').css('border', '1px solid #000');

});

即使span不是div的直系子元素,也会生效

div

h2

A

spanB/span

/h2

/div

——2.4 :parent(取包含子元素或文本的元素)

$(document).ready(function () {

$('ol li:parent').css('border', '1px solid #000');

});

下面的代码,A和D所在的li会有边框

ol

li/li

liA/li

li/li

liD/li

/ol

3. 可见性过滤选择器

——3.1 :hidden(取不可见的元素)

jQuery至1.3.2之后的:hidden选择器仅匹配display:none或input type="hidden" /的元素,而不匹配visibility: hidden或opacity:0的元素。这也意味着hidden只匹配那些“隐藏的”并且不占空间的元素,像visibility:hidden或opactity:0的元素占据了空间,会被排除在外。

参照:

下面的代码,先弹出"hello"对话框,然后hid-1会显示,hid-2仍然是不可见的。

html xmlns="" 

head runat="server"

title/title

style type="text/css"

div

{

margin: 10px;

width: 200px;

height: 40px;

border: 1px solid #FF0000;

display:block;

}

.hid-1

{

display: none;

}

.hid-2

{

visibility: hidden;

}

/style

script type="text/javascript" src="js/jquery.min.js"/script

script type="text/javascript"

$(document).ready(function() {

$('div:hidden').show(500);

alert($('input:hidden').val());

});

/script

/head

body

div class="hid-1"display: none/div

div class="hid-2"visibility: hidden/div

input type="hidden" value="hello"/

/body

/html

——3.2 :visible(取可见的元素)

下面的代码,最后一个div会有背景色

script type="text/javascript"

$(document).ready(function() {

$('div:visible').css('background', '#EEADBB');

});

/script

div class="hid-1"display: none/div

div class="hid-2"visibility: hidden/div

input type="hidden" value="hello"/

div

jQuery选择器大全

/div

4. 属性过滤选择器

——4.1 [attribute](取拥有attribute属性的元素)

下面的代码,最后一个a标签没有title属性,所以它仍然会带下划线

script type="text/javascript"

$(document).ready(function() {

$('a[title]').css('text-decoration', 'none');

});

/script       

ul

lia href="#" title="DOM对象和jQuery对象" class="item"DOM对象和jQuery对象/a/li

lia href="#" title="jQuery选择器大全" class="item-selected"jQuery选择器大全/a/li

lia href="#" title="jQuery事件大全" class="item"jQuery事件大全/a/li

lia href="#" title="基于jQuery的插件开发" class="item"基于jQuery的插件开发/a/li

lia href="#" title="Wordpress  jQuery" class="item"Wordpress  jQuery/a/li

lia href="#" class="item"其他/a/li

/ul

——4.2 [attribute = value]和[attribute != value](取attribute属性值等于value或不等于value的元素)

分别为class="item"和class!=item的a标签指定文字颜色

jquery有几种选择器

jQuery选择器一般分为四种

一、基本选择器

基本选择器是jQuery中最常用也是最简单的选择器,它通过元素的id、class和标签名等来查找DOM元素。

1、ID选择器 #id

描述:根据给定的id匹配一个元素, 返回单个元素(注:在网页中,id名称不能重复)

示例:$("#test") 选取 id 为 test 的元素

2、类选择器 .class

描述:根据给定的类名匹配元素,返回元素集合

示例:$(".test") 选取所有class为test的元素

3、元素(标签)选择器 element

描述:根据给定的元素名匹配元素,返回元素集合

示例:$("p") 选取所有的p元素 $("div") :选取所有的div标签

4、*

描述:匹配所有元素,返回元素集合

示例:$("*") 选取所有的元素

5、selector1,selector2,...,selectorN(并集选择器)

描述:将每个选择器匹配到的元素合并后一起返回,返回合并后的元素集合

示例:$("p,span,p.myClass") 选取所有p,span和class为myClass的p标签的元素集合

二、层次选择器

层次选择器根据层次关系获取特定元素。

1、后代选择器

示例:$("p span") 选取p元素里的所有的span元素(注:后代选择器选择父元素所有指定选择的元素,不管是儿子级,还是孙子级)

2、子选择器 $("parentchild")

示例:$("pspan") 选择p元素下的所有span元素 (注:子选择器只选择直属于父元素的子元素)

3、同辈选择器 $("prev+next")

描述:选取紧接在prev元素后的next元素,返回元素集合

示例:$(".one+p") 选取class为one的下一个p同辈元素集合

4、同辈选择器 $("prev~siblings")

描述:选取prev元素后的所有siblings元素,返回元素集合

示例:$("#two~p")选取id为two的元素后所有p同辈元素集合

三、过滤选择器

1基本过滤选择器

1、 :first

描述:选取第一个元素,返回单个元素

示例:$("p:first") 选取所有p元素中第一个p元素

2、 :last

描述:选取最后一个元素,返回单个元素

示例:$("p:last") 选取所有p元素中最后一个p元素

3、 :not(selector)

描述:去除所有与给定选择器匹配的元素,返回元素集合

示例:$("input:not(.myClass)") 选取class不是myClass的input元素

4、 :even

描述:选取索引是偶数的所有元素,索引从0开始,返回元素集合

5、 :odd

描述:选取索引是奇数的所有元素,索引从0开始,返回元素集合

6、 :eq(index)

描述:选取索引等于index的元素,索引从0开始,返回单个元素

7、 :gt(index)

描述:选取索引大于index的元素,索引从0开始,返回元素集合

8、 :lt(index)

描述:选取索引小于于index的元素,索引从0开始,返回元素集合

9、 :focus

描述:选取当前获取焦点的元素

2内容过滤选择器

1、:contains(text)

描述:选取含有文本内容为text的元素,返回元素集合

示例:$("p:contains('我')") 选取含有文本“我”的元素

2、:empty

描述:选取不包含子元素或者文本元素的空元素,返回元素集合

示例:$("p:empty") 选取不包含子元素或者文本元素的空p元素(p/p)

3、:has(selector)

描述:选取含有选择器所匹配的元素的元素,返回元素集合

示例:$("p:has(p)") 选取含有p元素的p元素(pp//p)

4、:parent

描述:选取含有子元素或者文本的元素,返回元素集合

示例:$("p:parent") 选取含有子元素或者文本元素的p元素(pp//p或者p文本/p)

3可见性过滤选择器

1、:hidden

描述:选取所有不可见的元素,返回元素集合

2、:visible

描述:选取所有可见的元素,返回元素集合

4属性过滤选择器(返回元素集合)

1、[attribute]

示例:$("p[id]") 选取拥有id属性的p元素

2、[attribute=value]

示例:$("input[name=text]") 选取拥有name属性等于text的input元素

3、[attribute!=value]

示例:$("input[name!=text]") 选取拥有name属性不等于text的input元素

4、[attribute^=value]

示例:$("input[name^=text]") 选取拥有name属性以text开始的input元素

5、[attribute$=value]

示例:$("input[name$=text]") 选取拥有name属性以text结束的input元素

6、[attribute*=value]

示例:$("input[name*=text]") 选取拥有name属性含有text的input元素

7、[attribute~=value]

示例:$("input[class~=text]") 选取拥有class属性以空格分割的值中含有text的input元素

8、[attribute1][attribute2][attributeN]

描述:合并多个属性过滤选择器

5表单对象属性过滤选择器(返回元素集合)

1、:enabled

描述:选取所有可用元素

2、:disabled

描述:选取所有不可用元素

3、:checked

描述:选取所有被选中的元素(单选框,复选框)

示例:$("input:checked") 选取所有被选中的input元素

4、:selected

描述:选取所有被选中的选项元素(下拉列表)

示例:$("select option:selected") 选取所有被选中的选项元素

四、表单选择器(返回元素集合,使用相似)

1、:text

描述:选择所有的单行文本框

示例:$(":text")选取所有的单行文本框

2、:password

描述:选择所有的密码框

3、:button

描述:选择所有的按钮

4、:checkbox

描述:选择所有的多选框


当前题目:jquery的id选择器,js中id选择器
文章链接:http://scyanting.com/article/dscehgh.html