获取url参数值并使用jQuery将其添加到图像源

时间:2012-01-04 20:10:30

标签: javascript jquery

这似乎是一个非常奇怪的问题,但我只是在玩,我想知道它是否可能。

我在链接中有一个包含图像的页面,我想使用jquery在其父链接的位置找到'X',并用该数字替换图像源。

如果这没有意义我已经创造了一个小提琴试图进一步解释事情。

我知道这是一个奇怪的问题而且没有意义,但可以做到吗?

http://jsfiddle.net/qZ5AZ/

4 个答案:

答案 0 :(得分:1)

您可以使用...

定位锚标记内的所有图像标记

$('a > img')

从那里,您可以检查每个父母,看看它是否具有您正在寻找的查询字符串值。

(/?p=([\d]+)/gi).exec(href);

所有这一切......

$('a > img').each(function(index, item) {
    item = $(item);
    var href = item.parent().attr('href');
    var find = (/\?p=([\d]+)/gi).exec(href);
    if (find) {
        var number = find[1];
        // Change the image src
        item.attr('src', item.attr('src') + /' + number + '.jpg');
    }
});

答案 1 :(得分:1)

尝试一下:

$('img').each(function(){
        var foo = $(this).parent().attr('href').split('=');
        $(this).attr('src','/'+foo[1]+'.jpg');
})

答案 2 :(得分:1)

这样做:http://jsfiddle.net/qZ5AZ/1/

$("a img").attr("src", function() {
    var theSrc = new RegExp("[\\?&]p=([^&#]*)").exec($(this).parent()[0].href)[1];
    this.src = theSrc +".jpg";
});

当然,您确实需要返回值:http://jsfiddle.net/qZ5AZ/9/

$("a img").attr("src", function() {
    var theSrc = new RegExp("[\\?&]p=([^&#]*)").exec($(this).parent()[0].href)[1];
    return theSrc +".jpg";
});

查看有关查询字符串的更多信息:

How can I get query string values in JavaScript?

答案 3 :(得分:1)

您可以在所有using .each()标记上迭代直到($('a > img'))并设置img标记的src。

DEMO 此处