我有一个仅存在于内存中的div,可能包含零个或多个图像。我正在尝试使用JQuery find更改thouse图像的src,问题是,即使我管理器设置了每个img的src,div的内容也保持不变。

    function contentWithReplacedImages(divContent){
    console.log(divContent);//I get <div class='editable singleColumnElement'><p>asdasd ad a dasd ad<br/></p><p><img/> <br/></p></div>
    $(divContent).find("img").each(function(index){
        $(this).attr({
            'src':"imgSrc"
        });
        console.log($(this).attr('src'));//I get "imgSrc"
    });

    console.log(divContent); //divContent remains unchanged.

}

最佳答案

这创建了一个新元素...

$(divContent)

然后,您可以在该新元素中找到图像并更改src属性。您在任何时候都没有更改divContent本身。

试试这个...
function contentWithReplacedImages(divContent){
    console.log(divContent);
    var $divContent = $(divContent);
    $divContent.find("img").each(function(index){
        $(this).attr({
            'src':"imgSrc"
        });
        console.log($(this).attr('src'));
    });
    divContent = $divContent.html();
    console.log(divContent);
}

contentWithReplacedImages("<div class='editable singleColumnElement'><p>asdasd ad a dasd ad<br/></p><p><img/> <br/></p></div>");

09-15 13:30