图像源中的 jQuery 通配符

发布于 2024-10-07 10:09:14 字数 561 浏览 6 评论 0原文

我想使用 jQuery 更改单击时图像的 src 属性。这是 HTML:

<a href="#" class="view2">View 2</a>
<img src="images/shoe1a.jpg" class="sb-player" />

在 img src 中,我想将“a”替换为“b”,但我的问题是我想忽略它前面的“1”,因为它可能看起来像这样好吧:

<img src="images/shoe2a.jpg" class="sb-player" />

我用 jQuery 到目前为止,星号是我需要通配符的地方:

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', 'images/shoe'+*+'b.jpg');
        return false;
    });
});

是否有某个字符可以作为任何数字的通配符?

I would like to change the src attribute of an image on click using jQuery. Here's the HTML:

<a href="#" class="view2">View 2</a>
<img src="images/shoe1a.jpg" class="sb-player" />

And in the img src, I want to replace the "a" to a "b," but my problem is that I want to ignore the "1" that's in front of it, since it could look like this as well:

<img src="images/shoe2a.jpg" class="sb-player" />

I got this far with my jQuery, and the asterisk is where I need a wildcard character:

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', 'images/shoe'+*+'b.jpg');
        return false;
    });
});

Is there a certain character that could be a wildcard for any number?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

分分钟 2024-10-14 10:09:14

只需.replace() src 字符串的整个结尾,将 a.jpg 替换为 b.jpg

您可以将函数传递给.attr()

参数i表示集合中的当前迭代,val是当前值。返回值代表新值。

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', function(i,val) { 
             return val.replace('a.jpg','b.jpg');
        });
        return false;
    });
});

Just .replace() the entire end of the src string, replacing a.jpg with b.jpg.

You can pass a function to .attr().

The parameter i represents the current iteration in the set, and val is the current value. The return value represents the new value.

$(function() {
    $('.view2').click(function() {
        $('.sb-player').attr('src', function(i,val) { 
             return val.replace('a.jpg','b.jpg');
        });
        return false;
    });
});
俏︾媚 2024-10-14 10:09:14

匹配字符串任何部分的最强大方法是在 javascript 中使用 正则表达式

也许通过这种方式你可以解决你的问题:


$(function() {
    $('.view2').click(function() {
        var originalSrc = $('.sb-player').attr('src');
        $('.sb-player').attr('src', originalSrc.replace(/a\./,"b."));
        return false;
    });
});

The most powerful way to match any part of a string is using Regular Expressions in javascript.

Maybe in this way you can solve your problem:


$(function() {
    $('.view2').click(function() {
        var originalSrc = $('.sb-player').attr('src');
        $('.sb-player').attr('src', originalSrc.replace(/a\./,"b."));
        return false;
    });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文