jquery和.attri不起作用?

时间:2010-07-23 07:06:55

标签: jquery

这是我的代码:

function init(){
    $.get(URL, function(data) {
     DATA = data;
     var srcWithHead = URL + "/" + $(DATA).find("img").attr("src");
     $(DATA).find("img").attr("src", srcWithHead);
     console.log("src = " + $(DATA).find("img").attr("src"));
    });
}

我想要一张照片。但是URL图像src是一个相对路径。所以,我需要有每个图像的标题。但似乎是这样 $(DATA).find("img").attr("src", srcWithHead); 不起作用。

我该怎么办?和任何其他方法? 感谢

4 个答案:

答案 0 :(得分:1)

你可能有多个IMG标签。使用each()访问每个。

function init(){
    $.get(URL, function(data) {
    DATA = data;
    $(DATA).find("img").each(function() {
        var srcWithHead = URL + "/" + $(this).attr("src");
        $(DATA).find("img").attr("src", srcWithHead);
    });
}

答案 1 :(得分:0)

我今天和attr一起工作,以下工作对我来说。

 $('#ctl00_Content_imgbtnDiscardQuote')
    .attr('src','').attr('value','Cancel').attr('type','submit');

尝试在firebug或chrome控制台中运行$(DATA);,它可能无法返回您的想法。

修改尝试.each()

$(DATA).find('img').each(function(index){ 
    $(this).attr('src','/myimg.jpg'); 
});

欢迎使用堆栈溢出。

答案 2 :(得分:0)

你可能没找到任何元素吗?

尝试

alert($(DATA));
alert($(DATA).length);
alert($(DATA).find('img').length);

答案 3 :(得分:0)

尝试评估你的data,我不确定这里,因为我不知道数据是什么,但试试看。

function init(){
    $.get(URL, function(data) {
       DATA = eval("("+data+")"); // treat the data as json object
       var srcWithHead = URL + "/" + $(DATA).find("img").attr("src");
       $(DATA).find("img").attr("src", srcWithHead);
       console.log("src = " + $(DATA).find("img").attr("src"));
    });
}