更新時間:2022-03-31 來源:黑馬程序員 瀏覽量:
jQuery中基本選擇器是最簡單直觀的選擇器,包括id選擇器、類選擇器、元素選擇器和通配符選擇器,詳細介紹如表2-1所示。
表2-1基本選擇器
表2-1中,jQuery提供的同時獲取多個元素的選擇器,是利用逗號(,)分割,將每一個選擇器匹配到的元素合并后一起返回。
為了讀者更好的理解基本選擇器的使用,接下來通過一個案例進行演示,HTML代碼片段如demo2-1.html所示。
demo2-1.html
<style> div { border: 1px solid black; } </style> <div id="byId">第1個div元素,id值為byDiv</div> <p>第1個p元素</p> <p class="byClass">第2個p元素,類名為byClass</p> <div class="byClass">第2個div元素,類名為byClass</div>
上述代碼中,定義了兩個div元素和兩個p元素,第1個div元素的id值為byId,第2個div元素與第2個p元素設(shè)置了相同的類名byClass。
使用瀏覽器訪問demo2-1.html頁面的初始效果如圖2-2所示。
圖2-2頁面默認效果下面使用不同的jQuery基本選擇器操作以上的HTML頁面。
與類選擇器不同的是,一個規(guī)范的HTML文檔中不會出現(xiàn)多個元素具有相同id值的情況。因此,一個id選擇器只能獲取一個元素。
下面為id為byId的元素設(shè)置背景色。在demo2-1.html文件中添加jQuery代碼,如下所示。
$('#byId').css('background', 'pink');
上述代碼中,css()是jQuery提供的方法,用于設(shè)置元素的CSS樣式。其中,background用于設(shè)置背景,pink是背景顏色的值。修改完成后,重新使用瀏覽器訪問demo2-1.html,頁面效果如圖2-3所示。
一個HTML文檔中,可以為不同元素設(shè)置同名的class值,這樣便可以同時設(shè)置不同元素的相同樣式或行為。
修改(1)中的jQuery代碼,為頁面中類名為byClass的所有元素設(shè)置相同的背景色。如下所示。
$('.byClass').css('background', '#a0edbc');修改完成后,重新使用瀏覽器訪問demo2-1.html,頁面效果如圖2-4所示。
圖2-4類選擇器從圖2-4可以看出,引用了類名為byClass的p元素和div元素都被設(shè)置了背景色。
元素選擇器適用于開發(fā)中需要為頁面中的所有匹配元素添加樣式或行為。修改(2)中的jQuery代碼,將p元素中的文本大小設(shè)置為10像素。如下所示。
$('p').css('font-size', '10px');
修改完成后,重新使用瀏覽器訪問demo2-1.html,頁面效果如圖2-5所示。
在實際開發(fā)中,若需要為頁面上的所有元素添加相同的樣式或者行為,此時便可用通配符選擇器“*”一次性獲取頁面所有元素。修改(3)中的jQuery代碼,將頁面的背景色設(shè)為yellow。如下所示。
$('*').css('background', 'yellow');
修改完成后,重新使用瀏覽器訪問demo2-1.html,頁面效果如圖2-6所示。
圖2-6通配符選擇器
需要注意的是,雖然通配符選擇器可匹配所有的元素,但會影響網(wǎng)頁渲染的時間。因此,實際開發(fā)中應(yīng)盡量避免使用通配符選擇器。取而代之的是,在需要時,可在jQuery的$()中使用逗號,即可同時獲取多個元素。
例如,修改以上的jQuery代碼,為class值為byClass和id值為byId的元素設(shè)置背景色,如下所示。
$('.byClass,#byId').css('background', 'yellow');
修改完成后,重新使用瀏覽器訪問demo2-1.html,頁面效果如圖2-7所示。
圖2-7同時獲取多個元素