2016-03-27 22 views
-2

JS kullanarak bir değişkene stil atsayı kaydetmenin bir yolu var mı? mağaza değişkeni içinde attr stili

Bu example

<div style="width: 100px; height: 100px; background: cyan"></div> 

var style = 'style="' + $("div").attr('style') + '"'; 
    alert(style); 
+1

ya bu doğru 'genişliği ıla örneğin tarzı dize alır çünkü, ulaşmak için çalışıyoruz öyle: 100px; yükseklik: 100px; arka plan: camgöbeği – user2950720

cevap

-1
var style = 'style="' + document.getElementsByTagName('div')[0].getAttribute('style') + '"'; 

sizin örnek saf JavaScript versiyonu çalıştı.

+0

JS web siteme koyarsanız stil = "undefined" gösterecektir –

+0

canlı örnek çalışır! https://jsfiddle.net/e1kymq8x/ –

0

Bunu web sitenizde tam olarak burada kod göründüğü gibi mi deniyorsunuz? Eğer öyleyse, muhtemelen undefined dönüyor çünkü sayfada birden fazla 'div' var. Söz konusu div'a bir ID vermeyi deneyin ve JS'yi $ ('div') 'dan $ (' # whateveridyouchose ') olarak değiştirin.

bir sorun olarak resmin kullanılabilirliğini ekarte etmek bu kodu deneyin:

$(document).ready (function() { 
    var style = 'style="' + $("selectorofimage").attr('style') + '"'; alert(style); 
}); 
+0

Aslında bir görüntü, öğeye giden yol iyidir. Sorun, betik çalışırken görüntünün yüklenmemiş olması olabilir. –

+0

Bu kesinlikle tanımlanmamış olarak sonuçlanır, bu olasılığı dışlamak için JS'yi bir document.ready işlevine sarabilirsiniz. Doğrulamak için yukarıdaki JS, söz konusu DOM öğesine açıkça atanan stilleri döndürecektir. Kullanım durumunuz bir imge olmakla birlikte, belki de stilin özelliklerinden ziyade görüntünün boyutlarını elde etmeye çalışıp çalışmadığınızı merak ediyorum. Sadece doğru ağacı havladığınızı doğrulamak istiyorum. –

+0

Görüntü stili yalnızca konumlandırma ve boyut özelliklerini içerir. Bu betiği [onAvailable()] (https://jsfiddle.net/y20v4p9c/) işlevine ekledim ve yine de tanımsız olarak döndürülüyor. –