在Javascript中替换某个字符

时间:2011-08-31 12:12:41

标签: javascript jquery dom

我目前正在运行此脚本(原作者不再支持它):

http://askthecssguy.com/articles/checkbox-filters-with-jquery/

除了你有一个标签(这些标签中的每一个复选框)中都有空格(如果你有空格,它创建多个标签)之外,这种方法很好。解决这个问题的唯一方法是使用下划线,但是在呈现的页面上看起来很垃圾。我想知道在运行此脚本后,有一种方法可以删除某些_类中的所有<li>并将其替换为空格“”。 对不起,如果这令人困惑!

2 个答案:

答案 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, ' ');
});