首页 > JS中的一个奇异问题

JS中的一个奇异问题

各位大大过来看看,这里有干货

//jquery

String.prototype.repAll = function (s1, s2) {
      return this.replace(new RegExp(s1, 'gm'), s2);
};

if ($.type(q) === 'string') {
    var tempat = $($this.find('span.at').html().replace('<i class="at fa fa-at"></i>', '').repAll('">', '">|'));
    $arr[8] = tempat.text().replace('|', '');
    $arr[9] = '<i>' +$arr[8].repAll('|', '</i><i class="cc">')+ '</i>';
}

$this.find('span.at').html()'<i class="at fa fa-at"></i><i data-join=",">kam</i><i data-join=",">bbb</i><i data-join=",">老司机</i>'

正确的输出 $arr[8]='kam|bbb|老司机'; $arr[9]='<i>kam</i><i class="cc">bbb</i><i class="cc">老司机</i>'

不过现在的输出却是'<i></i><i class="cc">k</i><i class="cc">a</i><i class="cc">m</i><i class="cc">|</i><i class="cc">b</i><i class="cc">b</i><i class="cc">b</i><i class="cc">|</i><i class="cc">老</i><i class="cc">司</i><i class="cc">机</i><i class="cc"></i>'

但是把|分隔符换成, 输出的结果是正确的,而|这个分隔符,在同一个脚本的其他代码段里却又是正常,不知道什么原因,不知道各位大大们是否和我有一样奇遇,求解答。。。。


显然 | 是用于正则表达式,因为正则表达式里面 | 又是特殊字符,所以 应该用 "\\|",看清楚是两个。

【热门文章】
【热门文章】