【问题标题】:Filter out words after divider in a string in Javascript在Javascript中过滤字符串中分隔符后的单词
【发布时间】:2017-02-27 14:40:10
【问题描述】:

我有一个变量,例如返回:+category1+author3

在我的 HTML 中,我有 2 个链接:一个是 class="category1",一个是 class="author3"。

我想隐藏两个链接(例如 $("a.category1").fadeOut(); ),但因此我需要从上面的变量中过滤掉 category1 和 author3 两个词。所以我想删除分隔符+ 并让代码读取在每个+ 出现一个新单词之后,我想在进一步的代码中将其用作一个类。

所以基本上我想将这个+category1+author3 分配给两个变量category1 和author3,使用Javascript 将+ 作为分隔符(变量中也可以有1 个或3 个或4 个单词,例如:+ category1+category4+author3+genre2)。

【问题讨论】:

标签: javascript string variables replace split


【解决方案1】:

在 + 上使用 string.split 方法

var s="+category1+author3";
classSplit=s.split("+"); //This will be an array
console.log(classSplit[1]) //category1
console.log(classSplit[2]) //author3
//console.log(classSplit[0]) This will be blank/null as there is nothing before+

编辑:

 for(i=1;i< classSplit.length;i++) {//Start with 1 as 0 is null
 $classSplit[i].fadeOut();
 }

【讨论】:

  • 谢谢,它几乎可以工作了!但例如最多可以有 20 个类。你怎么能认为脚本会自动执行 .fadeOut();对于每个单独的 classSplit?
【解决方案2】:

试试这个

var classSelector = "+category1+author3".split("+").join(",.");

$( classSelector ).fadeOut(); 

或

var classSelector = "+category1+author3".replace(/\+/g, ", .");

$( classSelector ).fadeOut(); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2013-07-12
    • 2011-09-11
    相关资源
    最近更新 更多