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