jQuery选择器&根据值设置select下拉框的默认值

选择器是是jQuery的基础,在jQuery中,对事件处理、遍历DOM和Ajax操作都依赖于选择器。熟悉地使用选择器,不但能简化代码,而且能够事半功倍。

jQuery选择器的类型

1. 通过CSS选择器选取元素

  1. 基本选择器
  2. 层次选择器
  3. 属性选择器

2. 通过过滤选择器选择元素

  1. 基本过滤选择器
  2. 可见性过滤选择器

基本选择器

jQuery的基本选择器与CSS基本选择器相同,主要由元素标签选择器、class(类选择器)id选择器和多个选择器组成。jQuery基本选择器的详细说明如下表:


image.png

例:
image.png

代码:
<title>图书简介</title>
<link rel="stylesheet" href="css/bookStyle.css">
<script type="text/jscript" src="jquery-3.4.1.js"></script>
<script type="text/jscript">
  $(document).ready(function(e) {
    $("#mybtn1").click(function(){
           $("h1").css("color","blue");
        });
    $("#mybtn2").click(function(){
           $(".price").css({
              "background":"green","padding":"5px"
           }) ;
        });
    $("#mybtn3").click(function(){
           $("#author").css("color","red")
        });
    $("#mybtn4").click(function(){
           $("#author,h1,.price").css("color","yellow")
        });
    $("#mybtn5").click(function(){
           $("*").css("font-weight","bold");
        });
});
</script>
</head>

<body>
<div id="book">
    <div class="imgLeft"><img src="images/store.jpg" alt="岛上书店"></div>
    <div class="textRight">
        <h1>岛上书店【荐书联盟推荐】[The Storied Life of A.J.Fikry]</h1>
        <p class="intro">自营图书几十万畅销品种阶梯满减,抽奖赢魅蓝note3、JDRead阅读器!</p>
        <p id="author">[美] 加·泽文(Gabrielle Zevin) 著;孙仲旭,李玉瑶 译</p>
        <div class="price">
            <div id="jdPrice">京东价: <span>¥24.10</span> [6.9折] <p>[定价:<span>¥35.00</span>]</p> (降价通知)</div>
            <p id="mobilePrice">促销信息:<span>手机专享价</span> <span>¥9.90</span></p>
            <dl>
                <dt>以下促销可在购物车任选其一</dt>
                <dd><span>加价购</span> 满99.00元另加6.18元即可在购物车换购热销商品</dd>
                <dd><span>满减</span> 满100.00减20.00,满200.00减60.00,满300.00减100.00</dd>
            </dl>
            <p id="ticket">领 券:<span>105-6</span>  <span>200-16</span></p>
        </div>
    </div>
</div>
<div style="text-align:center">
    <button id="mybtn1">改变标题的颜色【标签选择器】</button>
    <button id="mybtn2">改变价格区域的颜色【类选择器】</button>
    <br/>
    <button id="mybtn3">改变作者信息的颜色【id选择器】</button>
    <button id="mybtn4">同时改变三个信息的颜色【并集选择器】</button>
    <button id="mybtn5">所有信息的字符加粗【*选择器】</button>
</div>

层次选择器

image.png

siblings()

用于选取每个匹配元素的所有同辈元素(不包括自己),并以jQuery对象的形式返回,此处即是选择除当前单击菜单项之外的其他同级菜单项。

可以使用this来调用,而"~"不能使用this

toggle()

toggle()方法则用于切换元素的可见状态,如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素。
例:当在浏览器中显示该页面时,全部菜单展开后的效果如下图:

单击“上海市”菜单,则“上海市”菜单下的所有子菜单全部折叠;再次单击折叠之后的“上海市”菜单,则“上海市”菜单下的所有子菜单全部展开。


image.png

代码:

<title>无标题文档</title>
<script type="text/jscript" src="jquery-3.4.1.js"></script>
<script type="text/jscript">
   $(document).ready(function(e) {
     $("dt").click(function(){
            $(this).siblings("dd").toggle();
         });
});
</script>
</head>

<body>
<dl>
  <dt>北京市</dt>
  <dd>昌平区</dd>
  <dd>房山区</dd>
  <dd>海淀区</dd>
  <dd>大兴区</dd>
</dl>
<dl>
  <dt>上海市</dt>
  <dd>黄浦区</dd>
  <dd>长宁区</dd>
  <dd>宝山区</dd>
  <dd>闸北区</dd>
  <dd>闵行区</dd>
</dl>
<dl>
  <dt>重庆市</dt>
  <dd>江北区</dd>
  <dd>渡中区</dd>
  <dd>大渡口区</dd>
  <dd>南岸区</dd>
</dl>
</body>

属性选择器

属性选择器通过HTML元素的属性来选择元素


image.png

例:


image.png

代码:
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>京东快报</title>
    <link rel="stylesheet" href="css/newStyle.css">
    <script type="text/jscript" src="jquery-3.4.1.js"></script>
    <script type="text/jscript">
        $(document).ready(function(){
            $("#mybtn").click(function(){
                window.location.reload();//刷新页面 
            }); 
            $("#mybtn1").click(function(){
                $("#news a[class]").css("background","#ccc")    
            });
            $("#mybtn2").click(function(){
                $("#news a[class='hot']").css("background","#ccc")  
            });
            $("#mybtn3").click(function(){
                $("#news a[class!='hot']").css("background","#ccc") 
            });
            $("#mybtn4").click(function(){
                $("#news a[href^='www']").css("background","#ccc")  
            });
            $("#mybtn5").click(function(){
                $("#news a[href$='html']").css("background","#ccc") 
            });
            $("#mybtn6").click(function(){
                $("#news a[href*='news']").css("background","#ccc") 
            });
        });
    </script>
</head>
<body>
<div id="news">
    <header>京东快报<a href="#" class="more">更多 > </a></header>
    <ul>
        <li><a href="sale.jd.com/act/h7mf8.html" class="hot"><span>[618]</span>志玲姐姐:墨镜300减30</a></li>
        <li><a href="www.jd.com/news.aspx?id=29257"><span>[公告]</span>京东无锡馆正式启动</a></li>
        <li><a href="sale.jd.com/act/k2ad45v.html"><span>[特惠]</span>99元抢平板!品牌配件199-100</a></li>
        <li><a href="www.jd.com/news.aspx?id=29252"><span>[公告]</span>节能领跑京东先行</a></li>
        <li><a href="sale.jd.com/act/ugk2937w.html" class="last"><span>[特惠]</span>高洁丝实力撩货,领券五折</a></li>
    </ul>

</div>
<br>
<div style="text-align:center">
        <input type="button" id="mybtn1" value="是否包含某属性"></input>
        <input type="button" id="mybtn2" value="属性的值"></input>
        <input type="button" id="mybtn3" value="属性的值不等于"></input>
        <br>
        <input type="button" id="mybtn4" value="属性的值以指定值开头"></input>
        <input type="button" id="mybtn5" value="属性值以指定值结尾"></input>
        <input type="button" id="mybtn6" value="属性值包含指定值"></input>
        <br>
        <input type="button" id="mybtn" value="刷新"></input>
</div>
</body>

根据值设置select下拉框的默认值

attr

attr():设置或返回被选元素的属性值。

例:
image.png

代码:
<title>任务5:根据值设置select下拉框的默认值</title>
<script type="text/jscript" src="jquery-3.4.1.js"></script>
<script type="text/jscript">
    $(document).ready(function(){
        $("#btn1").click(function(){
            $("#myselect option[value='上海市']").attr("selected","selected")  
        });
        $("#btn2").click(function(){
            $("#myselect option[value='重庆市']").attr("selected","selected")  
        });
    });
</script>
</head>

<body>
<div style="text-align:center">
  请选择参选城市:
  <select id="myselect">
    <option value="天津市" selected="selected">天津市</option>
    <option value="上海市">上海市</option>  
    <option value="北京市">北京市</option>
    <option value="重庆市">重庆市</option>
  </select>
</div>
<div style="text-align:center">
   <input type="button" id="btn1" value="上海" />
   <input type="button" id="btn2" value="重庆" />
</div>
</body>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容

  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,332评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,168评论 0 1
  • jQuery模块 选择器、DOM操作、事件、AJAX与动画 匿名函数自执行 作用:解决命名空间与变量污染的问题 总...
    青青玉立阅读 878评论 0 0
  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 654评论 0 3
  • jQuery jQuery是JavaScript世界中使用最广泛的一个库。 jQuery这么流行,肯定是因为它解决...
    星腾_范特西阅读 2,089评论 0 27