Javascript替换函数在第一个实例上不起作用

Javascript替换函数在第一个实例上不起作用,javascript,jquery,string,if-statement,replace,Javascript,Jquery,String,If Statement,Replace,我目前正在尝试使用javascript和jquery创建一个列表,返回一个关键字字符串,如下所示:关键字+关键字+关键字+关键字 我试图通过如下代码所示单击关键字时添加一个类“active”,然后检查它是否处于活动状态,如果是,则使用附加的+号将其添加到列表中(第一个元素除外,受计数器限制),但是每当我连续2次单击某个项目时,它被成功地添加到列表中,但是没有从列表中删除,但是计数器会按照常规进行增减,并且控制台日志会报告类的更改。 代码如下 $("ul.cats li, ul.c

我目前正在尝试使用javascript和jquery创建一个列表,返回一个关键字字符串,如下所示:关键字+关键字+关键字+关键字

我试图通过如下代码所示单击关键字时添加一个类“active”,然后检查它是否处于活动状态,如果是,则使用附加的+号将其添加到列表中(第一个元素除外,受计数器限制),但是每当我连续2次单击某个项目时,它被成功地添加到列表中,但是没有从列表中删除,但是计数器会按照常规进行增减,并且控制台日志会报告类的更改。 代码如下

        $("ul.cats li, ul.colours li ").click(function(){
            $(this).toggleClass( 'active');
        });

        var taglist = '';
        var tagcounter = 1;

        $("ul.cats li.tag").click(function(){
            var tag = $(this).attr("list-data");

            if ($(this).hasClass('active')) {   

                if (tagcounter <= 0){
                    taglist += '+';
                }
                taglist += tag;
                tagcounter -= 1;
                console.log('Active');

            }  else {

                var tag2 = '+' + tag;
                taglist = taglist.replace(tag2," ");
                tagcounter += 1;
                console.log('inactive');

            }
            console.log(taglist, 'Taglist', tagcounter);

        });
这表明该类检查语句是否正常工作,而replace函数是否正常工作。
请有人能提供一个解决方案,我将永远感激

问题在于检查
tagcounter问题在于检查
tagcounter问题
的第一个参数。replace()
需要是正则表达式。您可以使用
new RegExp()
从字符串生成它:


编辑:Ooops-字符串作为第一个图形有效。它并不像正则表达式那样处理,但在本例中,它不需要这样处理

.replace()
的第一个参数必须是正则表达式。您可以使用
new RegExp()
从字符串生成它:


编辑:Ooops-字符串作为第一个图形有效。它并不像正则表达式那样处理,但在本例中,它不需要这样处理

这就是问题所在,我不希望第一个关键字前面有一个+,我该如何解决这个问题呢?从标记列表中删除第一个字符。按标记列表=标记列表。子字符串(1);我做了一个编辑。展示解决问题的正确方法。请看这一点,虽然这是重点,我不希望第一个关键字前面有一个+,我该如何解决这个问题?从标记列表中删除第一个字符。按标记列表=标记列表。子字符串(1);我做了一个编辑。展示解决问题的正确方法。请再看看这个
[Log] Active 
[Log] Light Taglist 0 
[Log] inactive 
[Log] Light Taglist 1 (wordpress, line 237)
            tagcounter -= 1;
            if (tagcounter <= 0){
                taglist += '+';
            }
            taglist += tag;
taglist = taglist.replace(new RegExp(tag2)," ");