005、選擇器:針對HTML元素進行一個或多個選取

1、選擇器:指的是取得HTML元件的寫法方式

範例1:

<head>
<script src="js/jquery-3.7.1.min.js"></script>
</head>

<body style="font-size: 3rem;">

<p>哈囉,你好啊!</p>
<p>我今天在學習JQuery!</p>
<p>我可能需要多練習英文打字</p>

</body>

<script>
$(document).ready(function(){

    //給所有網頁中的<p>標籤,都寫上一個 click監聽事件
    $("p").on("click", function(){

        //如果觸發事件,利用CSS語法,將<p>的背景色改成黃色
        //this 就是指觸發事件的元件自己(HTML DOM元素),所以寫成 $(this)就會指向觸發的元件
        $(this).css("background-color","yellow");
    });
});
</script>

 

範例2:

<body style="font-size: 3rem;">

<h1>大標題</h1>
<p>哈囉,你好啊!</p>
<p>我今天在學習JQuery!</p>
<p>我可能需要多練習英文打字</p>

</body>

<script>
$(document).ready(function(){

    //給所有網頁中的<p> 和 <h1>標籤,都寫上一個 click監聽事件
    $("p, h1").on("click", function(){

        $(this).css("background-color","yellow");
    });
});
</script>

 

範例3:

<body style="font-size: 3rem;">

<h1>大標題</h1>
<p id="tag1">哈囉,你好啊!</p>
<p id="tag2">我今天在學習JQuery!</p>
<p id="tag3">我可能需要多練習英文打字</p>

</body>

<script>
$(document).ready(function(){

    $("h1, #tag2").on("click", function(){

        $(this).css("background-color","yellow");
    });
});
</script>

 

範例4:

<body style="font-size: 3rem;">

<h1>大標題</h1>
<p class="changebg">哈囉,你好啊!</p>
<p>我今天在學習JQuery!</p>
<p class="changebg">我可能需要多練習英文打字</p>

</body>

<script>
$(document).ready(function(){

    $(".changebg").on("click", function(){

        $(this).css("background-color","yellow");
    });
});
</script>

2、所有的事件處理函式,都能傳入一個參數是為event物件

範例:

<head>
<script src="js/jquery-3.7.1.min.js"></script>
</head>

<body style="font-size: 3rem;">

<h1>大標題</h1>
<p>哈囉,你好啊!</p>
<p>我今天在學習JQuery!</p>
<p>我可能需要多練習英文打字</p>

</body>

<script>
$(document).ready(function(){

    $("p, h1").on("click", function(event){

        ////在JavaScript中 event.currentTarget 就是等於 this
        $(event.currentTarget).css("background-color","yellow");
    });
});
</script>

3、使用 event 取得滑鼠位置

範例:

<head>
<script src="js/jquery-3.7.1.min.js"></script>
</head>

<body style="font-size: 3rem;">
<span>滑鼠位置在:</span>
</body>

<script>
$(document).ready(function(){

    $(document).on("mousemove",function(event){

        $("span").text(event.pageX + "," + event.pageY);

    });
});
</script>

4、選擇器列表

參考網站:https://www.w3ccoo.com/jquery/jquery_ref_selectors.html

選擇器實例選取
*$("*")所有元素
#id$("#lastname")id="lastname"的元素
.class$(".intro")class="intro"的所有元素
.class,.class$(".intro,.demo")class為"intro"或"demo"的所有元素
element$("p")所有<p>元素
el1,el2,el3$("h1,div,p")所有<h1>、<div>和<p>元素
:first$("p:first")第一個<p>元素
:last$("p:last")最後一個<p>元素
:even$("tr:even")所有偶數元素,索引值從0開始,第一個元素是偶數(0),第二個元素是奇數(1),以此類推。
:odd$("tr:odd")所有奇數元素,索引值從0開始,第一個元素是偶數(0),第二個元素是奇數(1),以此類推。
:first-child$("p:first-child")屬於其父元素的第一個子元素的所有<p>元素
:first-of-type$("p:first-of-type")屬於其父元素的第一個<p>元素的所有<p>元素
:last-child$("p:last-child")屬於其父元素的最後一個子元素的所有<p>元素
:last-of-type$("p:last-of-type")屬於其父元素的最後一個<p>元素的所有<p>元素
:nth-child(n)$("p:nth-child(2)")屬於其父元素的第二個子元素的所有<p>元素
:nth-last-child(n)$("p:nth-last-child(2)")屬於其父元素的第二個子元素的所有<p>元素,從最後一個子元素開始計數
:nth-of-type(n)$("p:nth-of-type(2)")屬於其父元素的第二個<p>元素的所有<p>元素
:nth-last-of-type(n)$("p:nth-last-of-type(2)")屬於其父元素的第二個<p>元素的所有<p>元素,從最後一個子元素開始計數
:only-child$("p:only-child")屬於其父元素的唯一子元素的所有<p>元素
:only-of-type$("p:only-of-type")屬於其父元素的特定類型的唯一子元素的所有<p>元素
parent>child$("div>p")<div>元素的直接子元素的所有<p>元素
parentdescendant$("divp")<div>元素的後代的所有<p>元素
element+next$("div+p")每個<div>元素相鄰的下一個<p>元素
element~siblings$("div~p")<div>元素同級的所有<p>元素
:eq(index)$("ulli:eq(3)")清單中的第四個元素(index值從0開始)
:gt(no)$("ulli:gt(3)")列舉index大於3的元素
:lt(no)$("ulli:lt(3)")列舉index小於3的元素
:not(selector)$("input:not(:empty)")所有不為空的輸入元素
:header$(":header")所有標題元素<h1>,<h2>...
:animated$(":animated")所有動畫元素
:focus$(":focus")當前具有焦點的元素
:contains(text)$(":contains('Hello')")所有包含文本"Hello"的元素
:has(selector)$("div:has(p)")所有包含有<p>元素在其內的<div>元素
:empty$(":empty")所有空元素
:parent$(":parent")匹配所有含有子元素或者文本的父元素。
:hidden$("p:hidden")所有隱藏的<p>元素
:visible$("table:visible")所有可見的表格
:root$(":root")文檔的根項目
:lang(language)$("p:lang(de)")所有lang屬性值為"de"的<p>元素
[attribute]$("[href]")所有帶有href屬性的元素
[attribute=value]$("[href='default.htm']")所有帶有href屬性且值等於"default.htm"的元素
[attribute!=value]$("[href!='default.htm']")所有帶有href屬性且值不等於"default.htm"的元素
[attribute$=value]$("[href$='.jpg']")所有帶有href屬性且值以".jpg"結尾的元素
[attribute|=value]$("[title|='Tomorrow']")所有帶有title屬性且值等於'Tomorrow'或者以'Tomorrow'後跟連接子作為開頭的字串
[attribute^=value]$("[title^='Tom']")所有帶有title屬性且值以"Tom"開頭的元素
[attribute~=value]$("[title~='hello']")所有帶有title屬性且值包含單詞"hello"的元素
[attribute*=value]$("[title*='hello']")所有帶有title屬性且值包含字串"hello"的元素
:input$(":input")所有input元素
:text$(":text")所有帶有type="text"的input元素
:password$(":password")所有帶有type="password"的input元素
:radio$(":radio")所有帶有type="radio"的input元素
:checkbox$(":checkbox")所有帶有type="checkbox"的input元素
:submit$(":submit")所有帶有type="submit"的input元素
:reset$(":reset")所有帶有type="reset"的input元素
:button$(":button")所有帶有type="button"的input元素
:image$(":image")所有帶有type="image"的input元素
:file$(":file")所有帶有type="file"的input元素
:enabled$(":enabled")所有啟用的元素
:disabled$(":disabled")所有禁用的元素
:selected$(":selected")所有選定的下拉清單元素
:checked$(":checked")所有選中的核取方塊選項
shape
shape