Javascript 增加HTML字符串中数字的值(jQuery)

Javascript 增加HTML字符串中数字的值(jQuery),javascript,jquery,html,html-parsing,Javascript,Jquery,Html,Html Parsing,我在一个文件夹中有一堆图像,它们都被命名为数字。第一个在文档加载时显示 <img src="image/01.jpg" /> 我确信我完全错了的一点是数字的选择(即delcarcingvar$n。我曾尝试将HTML转换为一个字符串,并沿着字符计数,但我甚至不确定这是否是正确的方法;我在任何地方都找不到类似的方法 谢谢 var source = "image/01.jpg"; var number = source.split(".")[0].split("/")[1]; numbe

我在一个文件夹中有一堆图像,它们都被命名为数字。第一个在文档加载时显示

<img src="image/01.jpg" />
我确信我完全错了的一点是数字的选择(即delcarcing
var$n
。我曾尝试将HTML转换为一个字符串,并沿着字符计数,但我甚至不确定这是否是正确的方法;我在任何地方都找不到类似的方法

谢谢

var source = "image/01.jpg";
var number = source.split(".")[0].split("/")[1];
number = (number *1) + 1
var newsource = "image/" + number + ".jpg";
这就是你实际获取来源的方式

var source = $("img").attr('src');
刚刚意识到这将生成“image/2.jpg”,您可以使用
数据编号
属性,您可以重新命名为1-9的图像,但这给了您一个想法

您可以

1) 捕获js变量中的src值

2) 使用substr函数去掉“image/”部分

3) 然后在“.”上使用split()获取第一个数组槽的值

4) 使用intVal()和


5) 然后增加值

img
元素没有html内容,除了使用
html
作为setter而不是getter之外。您可以使用
replace
方法替换
src
属性的值:

$('img').prop('src', function(_, src) {
    return src.replace(/\d+/, function(n) {
        var num = +n + 1;
        return num.toString().length === 1 ? '0' + num.toString() : num;
    });
});

您可以使用数据属性存储在当前和最大数量中。使用jQuery提取当前值,如果小于max,则递增,然后为图像设置src。
htmlString(17)
在做什么?@Andreas我正试图从HTML字符串中选择数字。我认为我用你选择HTML内容的方式做的是错误的。非常感谢,这似乎可以做到。为了加深我对这个答案的理解,你能解释一下代码的哪一部分选择了要更改的数字吗?这里有很多我以前没见过的东西。@sanjaypoyzer不客气,我用了正则表达式,
/\d+/
选择整数值。啊,我明白了,谢谢。刚刚读了一些正则表达式,非常有用。还有一个问题-在“function(u,src)”中下划线的意义是什么?@sanjaypoyzer
\uuu
索引
prop
迭代所有选定的元素。
$('img').prop('src', function(_, src) {
    return src.replace(/\d+/, function(n) {
        var num = +n + 1;
        return num.toString().length === 1 ? '0' + num.toString() : num;
    });
});