zoukankan      html  css  js  c++  java
  • [置顶] Jquery学习总结(二) jquery选择器详解

    1、基本选择器

    l ID 根据元素ID选择

    l Elementname 根据元素名称选择

    l Classname 根据元素css类名选择

    举例:

    <input type=”text” id=”ID” value=”根据ID选择”/>
    <a>根据元素名称选择</a>
    <input type=”text” class=”classname” value=”根据元素css类名选择”/>

    取值:

    jQuery(“#ID”).val();
    jQuery(“a”).text();
    jQuery(“.classname”).val();

    以上为最常见的选择器,其中ID选择器是效率最高的,在可能的情况下应该尽量使用它。

    2、层次选择器

    l Ancestor descendant 祖先和子孙选择器

    l Parent > child 父子节点选择器

    l Prev + next 同级别选择器

    l Prev ~ siblings 过滤选择器

    举例:

    <div id=”divTest”>
    <input type=”text” value=”1”/>
    <input id=”next” type=”text”/>
    <input type=”text” value=”2”/>
    <input type=”text” title=”t” value=”3”/>
    <a>1</a>
    <a>2</a>
    </div>

    结果:

    //得到div中的a标签内容 结果为12
    jQuery(“#divTest a”).text();
    //输出div直接子节点 结果为1
    jQuery(“#divTest>input”).val();
    //输出id为next的后一个同级别元素 结果为2
    jQuery(“#next+input”).val();
    //输出id为next,且有title的元素  结果为3
    jQuery(“#next~[title]”).val();

    3、基本过滤选择器

    l :first 找到第一元素

    l :last 找到最后一个元素

    l :not(selector) 去除与给定选择器匹配的元素

    l :even 匹配索引值为偶数的元素 从0开始计数

    l :odd 匹配索引值为奇数的元素 从0开始计数

    l :eq(index) 匹配一个给定索引值元素 从0开始

    l :gt(index) 匹配大于给定索引值元素

    l :lt(index) 匹配小于给定索引值元素

    l :header 选择h1,h2,h3一类的标签 (目前没用过)

    l :animated 匹配正执行动画效果的元素 (目前没用过)

    举例:

    <div id="divTest">
    <ul>
    <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <input type="radio" value="r1" checked="checked"/>
            <input type="radio" value="r2"/>
    </ul>
    </div>

    结果:

    $(document).ready(function(){
    //第一个li内容 结果为1
    alert(jQuery("li:first").text())
    //最后一个li内容 结果为4
    alert(jQuery("li:last").text());
    //input未被选中的值 结果为r2
    alert(jQuery("li input:not(:checked)").val())
    //索引为偶数的li 结果为2,4
    alert(jQuery("li:even").text());
    //索引为奇数的li 结果为1,3
    alert(jQuery("li:odd").text())
    //索引大于2的li的内容 结果为4
    alert(jQuery("li:gt(2)").text())
    //索引小于1的li的内容 结果为1
    alert(jQuery("li:lt(1)").text())
    });

    4、内容过滤器

    l :Contains(text) 匹配包含给定文本的元素

    l :empty 匹配所有不包含子元素或者文本的空元素

    l :has(selector) 匹配含有选择器所匹配的元素

    举例:

    <div id="Test">
        <ul>
            <li>qq123</li>
            <li>qq</li>
            <li></li>
            <li>a</li>
            <li><a>b</a></li>
        </ul>
    </div>

    结果:

    $(document).ready(function(){
    //包含qq的li的内容 结果为qq123投资 qq
    alert(jQuery("li:contains('qq')").text())
    //内容为空的li的后一个li内容 结果为a
    alert(jQuery("li:empty+li").text())
    //包含a标签的li的内容 结果为b
    alert(jQuery("li:has(a)").text());
    });

    5、可见性过滤器

    l :hidden 匹配不可见元素

    l :visible 匹配可见元素

    举例:

    <div id="Test">
       <ul>
        <li>可见</li>
        <li style="display:none;">不可见</li>
    </ul>
    </div>

    结果:

    $(document).ready(function(){
    //不可见的li的内容 结果为不可见
    jQuery("li:hidden").text();
    //可见的li的内容 结果为可见
    jQuery("li:visible").text();
    });

    6、属性过滤器

    l [attribute=value] 匹配属性是给定值得元素

    l [attribute^=value] 匹配属性是以给定值结束的元素

    l [attribute$=value] 匹配属性是以给定值结束的元素

    l [attribute*=value] 匹配属性包含给定值得元素

    举例:

    <div id="Test">
      <input type="text" name="qq123" value="qq123" />
    <input type="text" name="123qq" value="123qq" />
    <input type="text" name="a" value="a" />
    </div>

    结果:

    $(document).ready(function(){
    //name为qq123的值 结果为qq123投资
    alert(jQuery("input[name='qq123']").val());
    //name以qq开始的值 结果为qq123投资
    alert(jQuery("input[name^='qq']").val());
    //name以qq结束的值 结果为投资123qq
    alert(jQuery("input[name$='qq']").val());
    //name包含a的值 结果为a
    alert(jQuery("input[name*='a']").val());
    });




  • 相关阅读:
    VSCode:无法创建临时目录
    网页很卡的原因
    用css做三角形
    移动端加载页面出现抖动、未加载完成时布局杂乱问题解决
    vue中使用axios进行ajax请求数据(跨域配置)
    fetch和XMLHttpRequest
    1-5-JS基础-数组应用及实例应用
    图片左右切换
    轮播图片切换
    轮播图片切换(函数合并)
  • 原文地址:https://www.cnblogs.com/james1207/p/3424086.html
Copyright © 2011-2022 走看看