我很难搞清楚这个。
<div class="large-image" style="visibility: visible; cursor: default; background-image: url("images.sc?previewBinaryDataId=36"); background-position: 50% 50%;">
</div>
我尝试使用jquery来更改背景图片网址,只需更改DataId值
有什么建议吗?
答案 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/
希望这有帮助!