欢迎来到福编程网,本站提供各种互联网专业知识!

jquery之Document元素选择器篇

发布时间:2008-08-14 作者: 来源:转载
jquery元素选择器使用方法技巧
1.从$开始
对于熟悉prototype的朋友,$符号应该很熟悉,

prototype:varelement=$('eleId')
jquery:varelement=$('#eleId')
DOM:varelement=document.getElementById('eleId')
以上三种选择方式是等价的,相比prototype来说jquery多了个#号
例:

$('#j1′).html()

Hello,jQuery!

2.通过xpath+css来获取你想要的…
1).
在这段例子中我们需要用到的HTML代码



警告!警告!警告!警告!


我是第一段


第二段,哎,火箭输球了0比33!火箭替补钉上耻辱柱姚麦身边再无可用之人频繁失误成姚明致命毒药板凳消失是火箭落后主因



jquery代码:


//获取div.contentToChange下p标记数组长度
alert($('div.contentToChangep').size())

//通过调整高度来显示/隐藏所有匹配的元素,这里的匹配元素是p.firstParagraph
$('div.contentToChangep.firstParagraph').slideToggle('slow');

//找到匹配所有div.contentToChange下所有css不为alert的p元素,并在其后面添加文字
$('div.contentToChangep:not(.alert)').append('这是新加的文字‘);

//找到所有为strong元素且css为addText的元素,然后删除
$('strong.addText').remove();

//找到P标记下css为secondParagraph的元素,然后渐隐
$('div.contentToChangep.secondParagraph').hide('slow');

//找到div.contentToChange下所有em元素,然后通过jquery中的css方法改变它们的颜色和字体
$('div.contentToChangeem').css({color:“#993300“,fontWeight:“bold“});

//添加css样式
$('div.contentToChangep.secondParagraph').addClass('new‘)

//删除css样式
$('div.contentToChangep.secondParagraph').removeClass('new‘);

2).

在这段例子中我们需要用到的HTML代码:

这个段落包括了一些css属性为”groof”的文本,它还具有一个外部连接,一些$(代码),和一个超连接属性是以#打头的超连接.



  1. listitem1withdummylinktosilly.pdf

  2. listitem2withclass=”groof
  3. listitem3SURPRISE!

  4. listitem4withsillylinktosilly.pdfsilly.pdf

  5. 支持火箭,支持MM!



jquery代码

//获取第一个listitem
$('#jqdtolli:eq(0)')
//等价于
$('#jqdt').find('li:eq(0)')//以下同

//获取所有偶数行的listitem
$('#jqdtolli:even')

//获取索引小于3的listitem
$('#jqdtolli:lt(3)')

//获取所有li中css不为groof的listitem
$('#jqdtolli:not(.groof)')

//获取P标记下所有超连接属性值以'#'打头的元素
$('pa[@href*=#]')

//获取所有code元素和css为groof的li元素的集合
$('#jqdtcode,li.groof')

//先获取ol下css属性为groof的A,然后找到节点A下的一级子节点strong元素
$('#jqdtol.groof>strong')

//首先找到所有以listitem作为自己的前一节点的listitem元素(所以不会选择到第一个listitem,因为它的前面没有listitem节点了).然后在这些元素中找到超连接属性值以为'pdf'结尾的一级子节点
$('#jqdtolli+li>a[@href$=pdf]')

//找到所有已隐藏的span元素
$('span:visible')

//找到超连接中包含火箭字样的元素
$('lia:contains(“火箭“)')


注:
$('#jqdtol.groof>strong')其中的>代表只访问下一级子节点中包含strong的元素,
如果改为$('#jqdtol.groofstrong')则访问所有下级子节点中的strong元素,包括子节点的子节点等。


3).
常用的自定义选择器
:eq(0)选择索引等于0也就是第一个元素

:gt(4)选择所有索引大于4的元素
:lt(4)选择所有索引小于4的元素
:first等价于:eq(0)
:last选择最后一个元素
:parent选择所有含有子节点的元素(includingtext).
:contains('test')选择含有指定文本的元素
:visible选择所有可见元素(包含:display:block|inline,或者visibility为visible的元素,但是不包括表单元素(typehidden)
:hidden选择所有隐藏元素(包含:display:none,或者visibility为hidden的元素,包括表单元素(typehidden)


例:

$('p:first').css('fontWeight','bold')
$('div:hidden').show();
$(“div:contains('test')“).hide();

$('input[@name=bar]').val()//获取名字为bar的input表单的值
$('select[@name=slt]').val()//获取名为slt的下拉菜单的选择中值
$('input[@type=radio][@checked]')//获取所有被选中的radio表单


表单选择器


:inputSelectsallformelements(input,select,textarea,button).
:textSelectsalltextfields(type=”text”).
:passwordSelectsallpasswordfields(type=”password”).
:radioSelectsallradiofields(type=”radio”).
:checkboxSelectsallcheckboxfields(type=”checkbox”).
:submitSelectsallsubmitbuttons(type=”submit”).
:imageSelectsallformimages(type=”image”).
:resetSelectsallresetbuttons(type=”reset”).
:buttonSelectsallotherbuttons(type=”button”).


例:

$('myForm:input')
$('input:radio',myForm)
//:radio等价于[@type=radio]

相关推荐