2016-03-23 13 views
3

Bunu çözmede sorun yaşıyorum."id" anahtar kelimesini bulun ve satır içi stil değerini değiştirin

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

Im sadece dataID değerini

herhangi bir öneriniz değiştirerek, arka plan görüntüsü url değiştirmek için jquery kullanmaya çalışıyorum?

+0

Geçerli satır içi stillerini kendi CSS'sine taşıyamıyor musunuz? "Büyük resim" sınıfına atıfta bulunuyorsunuz, bu yüzden bir çeşit çarşafınız olduğunu varsayalım. – Handonam

+0

Hayır, bir GoDaddy Shop sayfası yapan birine yardım ediyorum ve çok sınırlı. Bu yüzden daha fazla fonksiyon eklemek için jquery kullanıyorum. Bir küçük resim önizleme ekledim, ancak şimdi satır içi stilini değiştirirken sorun yaşıyorum "background-image: url()" @Handonam –

+0

Tüm "style" Niteliğini bir string ve stringer '' 'ile ifade ederek okuyabilirsiniz. Bundan sonra "background-image" ile başlayan dizi indeksini ve sadece str.replace() 'yi uygun alt dizini bulabilirsin. – zeropublix

cevap

1

Bunu doğru anlıyorsam, bu görüntüleri değiştirmek için çağrılabilir bir function gerekir? Olabilir?

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

Ve şöyle diyoruz sadece onClick o takmak veya ne olursa olsun ya da olabilir: İşte biri hile yapmak gerekir, ama orada olduğu gibi sadece tahmin ediyorum

changeImg(76); 

İncelenecek HTML yok.

0

"Dataid" değeriniz olmadığı için, örneğinizin doğru olup olmadığını bilmiyorum. Ayrıca, stiller listesini sonlandıran bir çifte teklifiniz var (url('dan hemen sonra). Eğer

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

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

olmak sonuna kadar .. gibi şeyler almak umuduyla mı?

Eğer öyleyse, o zaman aşağıdaki

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

düzenleme yapabilirsiniz: Eğer previewBinaryDataId değerini değiştirmek için aradılar gibi görünüyor. Size sen dataID alan dinamik olmasını isteseydim

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

: Bu resim tutmaya çalışıyoruz dosyası (image.sc)

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

Böyle bir şey deneyebilirsiniz koruyacaktır Dinamik olmak için sayı değişkenini değiştirmek zorunda kalacaktı. Bu yardımcı olur

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

Umut: Burada

bir çalışma keman bağlantısıdır!