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

时间:2013-05-17 16:33:50

标签: javascript jquery html html-parsing

我在一个文件夹中有一堆图像,这些图像都被命名​​为数字。第一个显示在文档加载上。

<img src="image/01.jpg" />

我想使用jQuery浏览图片。换句话说,我想将HTML转换为字符串,然后增加当前“01”的值。

到目前为止,我有:

$(document).ready(function(){
  $("button").click(function(){
    var $n = $("img").html(htmlString(17));
    $n.val(Number($n.val())+1);
  }); 
});

我确定我完全错误的是选择数字(即delcaring var $n。我试图将HTML转换为字符串并按字符计算,但我我甚至不确定这是否是正确的路线;我无法在任何地方找到类似的东西。

感谢。

3 个答案:

答案 0 :(得分:2)

除了你使用img作为setter not getter之外,

html元素没有html内容。您可以使用src方法替换replace属性的值:

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

http://jsfiddle.net/Bb84Q/

答案 1 :(得分:0)

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”,你可以使用data-number属性,你可以重新命名1到9的图像,但这会给你一个想法

答案 2 :(得分:0)

你可以

1)捕获js变量中的src值

2)使用substr函数摆脱“image /”部分。

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

4)使用intVal()和

将其转换为整数

5)然后递增值