如何从字符串中删除突出的字符?特别是在IE6中,我有这样的事情:
accentsTidy = function(s){
var r=s.toLowerCase();
r = r.replace(new RegExp(/\s/g),"");
r = r.replace(new RegExp(/[àáâãäå]/g),"a");
r = r.replace(new RegExp(/æ/g),"ae");
r = r.replace(new RegExp(/ç/g),"c");
r = r.replace(new RegExp(/[èéêë]/g),"e");
r = r.replace(new RegExp(/[ìíîï]/g),"i");
r = r.replace(new RegExp(/ñ/g),"n");
r = r.replace(new RegExp(/[òóôõö]/g),"o");
r = r.replace(new RegExp(/œ/g),"oe");
r = r.replace(new RegExp(/[ùúûü]/g),"u");
r = r.replace(new RegExp(/[ýÿ]/g),"y");
r = r.replace(new RegExp(/\W/g),"");
return r;
};
Run Code Online (Sandbox Code Playgroud)
但IE6让我烦恼,似乎它不喜欢我的正则表达式.
我正在根据数据属性过滤图像,对于每个过滤器数据属性,可以有多个标记值。要基于一个数据属性值匹配元素,可以执行以下操作:
$('.image-container').filter('[data-places="Canada"]').css('display','none');
Run Code Online (Sandbox Code Playgroud)
但是当我用空格分隔的列表尝试此操作时,它不起作用:
<div class="image-container" data-places="Nunavut Canada">...</div>
Run Code Online (Sandbox Code Playgroud)
在jQuery中,有什么方法可以通过数据属性集中的值进行选择?
我能想到的另一种选择是遍历选定元素的数组,但是我已经通过ajax在无限滚动中加载了图像,因此该数组在某些时候会非常庞大。我也对非jQuery解决方案开放。