这似乎是一个非常奇怪的问题,但我只是在玩,我想知道它是否可能。
我在链接中有一个包含图像的页面,我想使用jquery在其父链接的位置找到'X',并用该数字替换图像源。
如果这没有意义我已经创造了一个小提琴试图进一步解释事情。
我知道这是一个奇怪的问题而且没有意义,但可以做到吗?
答案 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";
});
查看有关查询字符串的更多信息:
答案 3 :(得分:1)
您可以在所有using .each()
标记上迭代直到($('a > img')
)并设置img标记的src。
DEMO 此处