Jquery教程 2.jquery的过滤性选择器

  1. :first过滤器:$("li:last").css("background-color", "red") 得到li元素的最后一个子节点。

    $("li:last")<==>$("li").last(); 注:这两个的效果相同,但是后者速度更快,推荐用后者

    $("li:first")<==>$("li").first();

    $("li").first().next(); 方法链,first()的下一个元素

    $("li").first().next().prev();  prev()上一个元素

    $("li").first().parent(); 找到li的父元素

    $("div span")<==>$("div").find("span");

    $("div span")<==>$("div").children("span")

2.:eq(index)选择器:如果想从一组标签元素数组中,灵活选择任意的一个标签元素

$("li:eq(2)").css("background-color", "#60F");从一组li元素中,选择第三个元素,从0开始

3.:contains(text)选择器:有时候我们可能希望按照文本内容来查找一个或多个元素, 它的功能是选择指定字符串的全部元素,它通常与其他元素结合使用

$("li:contains(‘jQuery‘)").css("background", "green"); 在一组li元素中查找文本是jQuery关键字的元素

4.:has(select)选择器:获取选择器中包含指定元素名称的全部元素,其中selector参数就是包含的元素名称,是被包含元素。

$("li:has(‘label‘)").css("background-color", "blue"); 在一组li元素中查找带label元素

5.:hidden选择器:功能是获取全部不可见的元素,这些不可见的元素中包括type属性值为hidden的元素。

var $strHTML = $("input:hidden").val(); 查找type="hidden"的input元素

6.:visible选择器:与:hidden过滤选择器相反,:visible过滤选择器获取的是全部可见的元素,也就是说,只要不将元素的display属性值设置为“none”,那么,都可以通过该选择器获取

<li style="display:none">橘子</li>
<li style="display:block">香蕉</li>
<li style="display:">葡萄</li>

$("li:visible").css("background-color","blue");//获取display:none的元素

7.[attribute=value],[attribute!=value],[attribute*=value]选择器:功能是获取与属性名和属性值完全相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值。[attribute!=value]意思相反,而[attribute*=value]是获取属性值中包含指定内容的全部元素。

<li title="蔬菜">茄子</li>
<li title="水果">香蕉</li>
<li title="蔬菜">芹菜</li>
<li title="水果">苹果</li>
<li title="水果">西瓜</li>

$("li[title=‘蔬菜‘]").css("background-color", "green");
$("input[type=‘radio‘]:checked").removeAttr("checked"); //获取属性type="radio"的input,并检查是否选中

8.:first-child,:last-child选择器:使用:first-child子元素过滤选择器则可以获取每个父元素中返回的首个子元素,它是一个集合,常用多个集合数据的选择处理

练习题:

题目:在页面中,添加一个<ul>元素,里面放置多个(至少7个以上)的<li>元素,此外,再添加一个<a>元素.

任务:

初始时:<ul>元素中仅显示5个<li>元素,其中包含还包括最后一个<li>元素,<a>元素中的显示"更多"字符.

当点击"更多"链接时,自身内容变为"简化",同时,<ul>元素中显示全部的<li>元素.

当点击"简化"链接时,自身内容变为"更多",同时,<ul>元素中仅显示包含最后一个<li>元素在内的5个元素.

代码答案:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>挑战题</title>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
    </head>
    
    <body>
        <ul>
            <li style="display:none">111</li>
            <li style="display:none">222</li>
            <li>333</li>
            <li>444</li>
            <li>555</li>
            <li>666</li>
            <li>777</li>
        </ul>
        
        <script>
        $(function(){
            $("a").click(function(){
                if($("a").html() == ‘更多‘) {
                    $("a").html("简化");
                    $("li").show();
                } else {
                    $("a").html("更多");
                    $("li:not(:gt(1))").hide();
                }  
            });
        })
            
        </script>
        
    </body>
</html>
时间: 2024-10-12 13:29:26

Jquery教程 2.jquery的过滤性选择器的相关文章

jquery学习记录二(过滤性选择器)

过滤性选择器包括: 1.:first过滤选择器 2.:eq(index)过滤选择器 3.:contains(text)过滤选择器 4.:has(selector)过滤选择器 5.:hidden过滤选择器 6.:visible过滤选择器 7.[attribute=value]属性选择器 8.[attribute!=value]属性选择器 9.[attribute*=value]属性选择器 10.:first-child子元素选择器 11.last-child子元素选择器 过滤性选择器,该类型的选择

Jquery教程 1.jquery的基础选择器

看这篇文章时,建议有一定的HTML,CSS,javascript基础 jQuery是一个兼容多浏览器的,轻量级的javascript库,我们做前段开发时可以用jquery做到以下几点: 1.找到HTML中的元素 2.改变HTML的内容 3.根据用户的反馈,比如按下按钮页面做出相应的动作 4.使用动画效果和网络交互 5.不刷新页面而改变页面的内容 首先理解什么是DOM,它是Document Object Model的缩写,简单来说,就是浏览器加载HTML时生成的树状结构.如下图: 浏览器在加载DO

jQuery 教程

jQuery 教程简介 JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器.jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用).events.实现动画效果,并且方便地为网站提供AJAX交互.jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应

jQuery读书笔记---jQuery中Ajax--序列化元素、Ajax全局事件

serialize()方法: 作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求. <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <script type="text/javascript" src="../../js/jquery-2.1.3.js">&l

jquery学习笔记-jQuery操纵DOM元素属性 attr()和removeAtrr()方法

jQuery中操纵元素属性的方法: attr(): 读或者写匹配元素的属性值. removeAttr(): 从匹配的元素中移除指定的属性. attr()方法 读操作 attr()读操作. 读取的是匹配元素中第一个元素的指定属性值. 格式: .attr(attributeName),返回值类型:String.读取不存在的属性会返回undefined. 注意选择器的选择结果可能是一个集合,这里仅仅获取的是集合中第一个元素的该属性值. 看例子: <!DOCTYPE html> <html>

jquery学习笔记-jQuery实现单击和鼠标感应事件

对于单击事件而言,jQuery同样提供了动态交替的toggle()方法,这个方法接受两个参数,两个参数均为监听函数,在click事件中交替使用. 例子:点击事件的动态交互. <script type="text/javascript"> $(function() { $("#ddd").toggle( function(oEvent) { $(oEvent.target).css("opacity", "0.5")

jquery特效-基于jQuery仿淘宝红色分类导航

今天给大家分享一款基于jQuery仿淘宝红色分类导航.这款分类导航适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 实现的代码. html代码: <div id="nav"> <div class="area clearfix"> <div class="separate"> </div> <div class="

jQuery教程 - Ajax之load()方法

jQuery教程 - Ajax之load()方法 标签: jqueryajaxxmlhttprequesthtmlcallback 2009-10-05 14:54 3700人阅读 评论(3) 收藏 举报  分类: jQuery(7)  版权声明:本文为博主原创文章,未经博主允许不得转载. jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是laod().$.get()和$.post()方法,第3层是$.getScript()和$.getJSON(

jQuery教程总结

Jquery教程 结论 由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护: 把所有 jQuery 代码置于事件处理函数中 把所有事件处理函数置于文档就绪事件处理器中 把 jQuery 代码置于单独的 .js 文件中 如果存在名称冲突,则重命名 jQuery 库 文档就绪函数 您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中: $(document).ready(function(){