找一个关键字" id"并以内联样式更改其值

时间:2016-03-23 00:20:41

标签: jquery html css

我很难搞清楚这个。

<div class="large-image" style="visibility: visible; cursor: default; background-image: url("images.sc?previewBinaryDataId=36"); background-position: 50% 50%;">
</div>

我尝试使用jquery来更改背景图片网址,只需更改DataId值

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

如果我正确理解了这一点,您需要function来调用这些图像吗?也许?嗯,这是一个:

function changeImg(newNum) {
    var div = $('.large-image');
    var parts = div.css('background-image').split('=');
    div.css({
        'background-image': parts[0] + '=' + newNum + '")'
    });
}

你可以将它附加到onClick或其他任何内容,或者只是这样称呼它:

changeImg(76);

这应该可以解决问题,但我只是在猜测,因为没有HTML可以查看。

答案 1 :(得分:0)

我不知道你的例子是否正确,因为你没有&#34; dataid&#34;值。此外,你有一个双引号,它终止了样式列表(在url(之后)。你希望得到像......这样的东西吗?

<div data-image-url="foo.jpg" id="myDiv">

最终成为

<div data-image-url="foo.jpg" id="myDiv" style="background-image:url('foo.jpg')">

如果是,那么您可以执行以下操作

var image = $('#myDiv').data('image-url');
$('#myDiv').css("background-image", "url('" + image + "')");

编辑:您似乎想要替换previewBinaryDataId值。这将保留您尝试保留的图像文件(image.sc)

var someNewId = 49
var reg = new RegExp(/(?:previewBinaryDataId=)(\d+)/)
$('#myDiv').css('background-image').replace(reg, 'previewBinaryDataId=' + someNewId);

答案 2 :(得分:0)

您可以尝试这样的事情:

jQuery(document).ready(function(){
var number = 39;
var backgroundNumber = "url('images.sc?previewBinaryDataId=" + number +"')";
  jQuery('.large-image').css({
    "background-image": backgroundNumber
  });
});

如果您希望DataId字段是动态的,您只需将数字变量更改为动态。

这是一个工作小提琴的链接:

https://fiddle.jshell.net/urxz8zoj/

希望这有帮助!