将包含具有div数据属性的特定字符串的匹配图像的src替换为css background-image

时间:2014-04-09 15:25:56

标签: javascript jquery css jquery-selectors

http://jsfiddle.net/awMpj/4/

不起作用

$(document).ready(function() {
    $('button').on("click", function() {
        var $img = $('img[src*="500"]');
        if($('img').attr('src').indexOf('place') != -1 )
            $('img[data-img="background"]').css({'background-color':'yellow','background-image':'url('+ $img +')','background-position':'center'});
    })
})

结果 src =" http://fiddle.jshell.net/_display/undefined"


有效吗

$(document).ready(function() {
    $('button').on("click", function() {
        if($('img').attr('src').indexOf('place') != -1 )
            $('img[data-img="background"]').css({'background-color':'yellow','background-image':'url("http://placehold.it/500x500")','background-position':'center'});
    })
})

我在将变量调用到JQuery中的.css函数的url部分时遇到了困难。如果指定了URL,我可以正确调用该函数。我希望有一个功能,我可以用它来搜索包含特定字符串的图像。然后将整个src属性应用到具有特定数据属性的另一个图像上。


已解决的编辑:" src仅用于选择图像。所以$ img是封装img节点的jquery对象。您仍然需要请求src属性。 - 罗宾"

$(document).ready(function() {
    $('button').on("click", function() {
        var $img = $('img[src*="500"]');
        if($('img').attr('src').indexOf('place') != -1 )
            $('img[data-img="background"]').css({'background-color':'yellow','background-image':'url(+ $img +)','background-position':'center'});
    })
})

1 个答案:

答案 0 :(得分:1)

您必须正确引用以解释$ image变量...

$(document).ready(function() {
    $('button').on("click", function() {
        var $img = $('img[src*="500"]');
        if($('img').attr('src').indexOf('place') != -1 )
            $('img[data-img="background"]')
.css({backgroundColor:'yellow',backgroundImage:'url('+ $img.attr('src')+')',backgroundPosition:'center'});
    })
})