Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用javascript中递增的数字替换HTML文本_Javascript_Replace - Fatal编程技术网

用javascript中递增的数字替换HTML文本

用javascript中递增的数字替换HTML文本,javascript,replace,Javascript,Replace,我有一堆没有HTML的文本,我正试图用String替换String的所有实例 问题是我试图每次递增x,以获得一组唯一可识别的跨度,而不是相同的跨度。 我获取字符串的所有实例都没有问题,但就我的一生而言,我无法让增量工作。我能找到的所有帮助似乎都指向了相反的方向。 你知道我能做什么,或者到哪里寻求帮助吗 编辑: 这是针对ID为“result”且仅包含文本的div var target = "String"; var X = //the number I was trying to

我有一堆没有HTML的文本,我正试图用
String
替换
String
的所有实例
问题是我试图每次递增x,以获得一组唯一可识别的跨度,而不是相同的跨度。
我获取字符串的所有实例都没有问题,但就我的一生而言,我无法让增量工作。我能找到的所有帮助似乎都指向了相反的方向。
你知道我能做什么,或者到哪里寻求帮助吗

编辑:
这是针对ID为“result”且仅包含文本的div

    var target = "String";
    var X = //the number I was trying to increment
    var re = new RegExp(" " + target + " ","g");
    document.getElementById('result').innerHTML = document.getElementById('result').innerHTML.replace(re, '<span id="' + X + '">' + target + '</span>');
var target=“String”;
var X=//我试图增加的数字
var re=新的RegExp(“+target+”,“g”);
document.getElementById('result').innerHTML=document.getElementById('result').innerHTML.replace(re',+target+'');

我猜您使用的是正则表达式,这很好,但是您可以指定一个函数作为第二个参数来替换,并在那里执行您的逻辑

执行此操作的MDN文档如下所示-

您可以使用以下内容:

函数替换器(源、目标){
var x=0;
var re=新的RegExp(目标,“g”);
var ret=原始替换(re),功能(匹配){
返回“+匹配+”;
});
返回ret;
}
var example=“String Stringasdf String2344 String”;
var replaced=replacer(例如,“字符串”);
控制台日志(已替换);

如果希望计数从
0
开始,而不是从
1
开始,可以将
++x
更改为
x++
,我猜您使用的是正则表达式,这很好,但是您可以指定一个函数作为
替换的第二个参数,并在那里执行逻辑

执行此操作的MDN文档如下所示-

您可以使用以下内容:

函数替换器(源、目标){
var x=0;
var re=新的RegExp(目标,“g”);
var ret=原始替换(re),功能(匹配){
返回“+匹配+”;
});
返回ret;
}
var example=“String Stringasdf String2344 String”;
var replaced=replacer(例如,“字符串”);
控制台日志(已替换);
如果希望计数从
0开始,而不是从
1开始,则可以将
++x
更改为
x++
,参考

您可以将函数传递给
字符串。replace
方法允许您在每次调用时增加一个计数器,并使用该计数器设置您的ID:

var forReplacements = "I do like a String that's a nice long String with Strings in it";

var incrementer = (function() {
    var counter = -1;
    var fn = function(match) {
        counter++;
        return "<span id='"+counter+"'>"+match+"</span>";
    };
    fn.reset = function() {
        counter = -1;
    }
    return fn;
}());
var newString = forReplacements.replace(/String/g, incrementer )
var forReplacements=“我喜欢一个长字符串,里面有字符串”;
var incrementer=(函数(){
var计数器=-1;
变量fn=功能(匹配){
计数器++;
返回“+匹配+”;
};
fn.reset=函数(){
计数器=-1;
}
返回fn;
}());
var newString=forReplacements.replace(/String/g,incrementer)
请参阅,以查看它的实际操作

您可以将函数传递给
字符串。replace
方法允许您在每次调用时增加一个计数器,并使用该计数器设置您的ID:

var forReplacements = "I do like a String that's a nice long String with Strings in it";

var incrementer = (function() {
    var counter = -1;
    var fn = function(match) {
        counter++;
        return "<span id='"+counter+"'>"+match+"</span>";
    };
    fn.reset = function() {
        counter = -1;
    }
    return fn;
}());
var newString = forReplacements.replace(/String/g, incrementer )
var forReplacements=“我喜欢一个长字符串,里面有字符串”;
var incrementer=(函数(){
var计数器=-1;
变量fn=功能(匹配){
计数器++;
返回“+匹配+”;
};
fn.reset=函数(){
计数器=-1;
}
返回fn;
}());
var newString=forReplacements.replace(/String/g,incrementer)

查看以查看它的运行情况

显示您的代码。你的问题毫无意义。给我们看看你的代码。你的问题毫无意义。