[jQuery] 讓 selector 以不分大小寫的方式選擇元素

[jQuery] 讓 selector 以不分大小寫的方式選擇元素

今天在改一個 JavaScript 程式,想要用 jQuery selector,

只要看到 id 裡面有 sidebar 字串的,全部隱藏起來~

原本的寫法如下:

jQuery('[id*='sidebar']').hide();

 

但測試了一下發現,網頁在重新整理時,id 的大小寫會隨機變換,

導致上面的程式無法成功找到元素…

 

查了一下,stackoverflow: Case-insensitive attribute-value selector with Jquery 這篇有個方法,

用 filter() 來過濾要回傳的元素,而傳給 filter() 的 callback function 裡面,

則可以用 regular expression 來作大小寫無關的判斷,

因此程式改成下面這樣:

jQuery('div').filter(function() {
return /sidebar/i.test(jQuery(this).attr('id'));
}).hide();

 

 

 

(本頁面已被瀏覽過 481 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料