我目前正在运行此脚本(原作者不再支持它):
http://askthecssguy.com/articles/checkbox-filters-with-jquery/
除了你有一个标签(这些标签中的每一个复选框)中都有空格(如果你有空格,它创建多个标签)之外,这种方法很好。解决这个问题的唯一方法是使用下划线,但是在呈现的页面上看起来很垃圾。我想知道在运行此脚本后,有一种方法可以删除某些_
类中的所有<li>
并将其替换为空格“”。
对不起,如果这令人困惑!
答案 0 :(得分:1)
jQuery(".filters li label").each(
function(){
var elem = jQuery(this);
var txt = elem.html();
if(txt.indexOf("_")>-1){
elem.html( txt.replace(/_/g," ") );
}
}
);
答案 1 :(得分:0)
假设您的列表项元素已应用“tagFilter”类。然后,您可以执行以下操作从列表项的文本中删除下划线:
$('.tagFilter').each(function(i,v) {
this.innerText = this.innerText.replace(/_/g, ' ');
});
但是,请注意,这假定您的列表项不包含除文本节点之外的任何其他子节点。那就是:
<li class="tagFilter">my_tag_with_spaces</li>
如果列表项的特定子元素包含文本,比如标签元素,那么您可以这样做:
$('.tagFilter label').each(function(i,v) {
this.innerText = this.innerText.replace(/_/g, ' ');
});