How do I use jQuery to ignore case when selecting?

匆匆过客 提交于 2019-11-28 08:23:27

I ran into this myself. I switched the logic a bit to allow me to compare it without case. It requires a little more work, but at least it works.

$('a').each(function(i,n) {
    var href = $(n).attr("href");
    href = href.toLowerCase();
    if (href.endsWith('/sites/abcd/sectors'))
        $(n).removeAttr('href');
});

You would have to figure out your own endsWith logic.

jQuery was built to be extended. You can correct it or add your own type of case-insensitive selector.

Rick Strahl: Using jQuery to search Content and creating custom Selector Filters

You may use function "is" in jQuery. It is not case-sensitive.

   $("a").each(function() {
     if ($(this).is("a[href$=/sites/abcd/sectors]")) {
       $(this).removeAttr('href');
     }
   })

First this is NOT VALID expression since it contains \ ,

If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[\]^``{|}~ ) as

a literal part of a name, you must escape the character with two backslashes: \\.

Src : http://api.jquery.com/category/selectors/

so you must escape the / to \\/

so your expression will be $("a[href$=\\/sites\\/abcd\\/sectors]").removeAttr("href");

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!