[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();
(本頁面已被瀏覽過 511 次)