Yanıtlar:
Kullanım element.style:
var element = document.createElement('select');
element.style.width = "100px";
Sadece şunu ayarlayın style:
var menu = document.createElement("select");
menu.style.width = "100px";
Veya isterseniz jQuery kullanabilirsiniz :
$(menu).css("width", "100px");
:)
Çoğu stil için bunu yapın:
var obj = document.createElement('select');
obj.style.width= "100px";
Adında kısa çizgiler bulunan stiller için bunu yapın:
var obj = document.createElement('select');
obj.style["-webkit-background-size"] = "100px"
Vanilya JavaScript ile aslında oldukça basit:
menu.style.width = "100px";
Tüm cevaplar size ne istediğini doğru bir şekilde söyler, ancak öğeye bir sınıf ayarlamak ve CSS kullanarak stil vermek için JavaScript kullanmanızı öneririm. Bu şekilde davranış ve stil arasındaki doğru ayrılığı korursunuz.
Siteyi yeniden şekillendirmek için bir tasarımcınız varsa düşünün ... JavaScript ile çalışmak zorunda kalmadan tamamen CSS'de çalışabilmelidirler.
Prototipte yapardım:
$(newElement).addClassName('blah')
$(selector).addClass('blah')
Sadece 2018'de aynı şeyi yapmak isteyen insanlar için
Öğenize (CSS veya JS aracılığıyla) bir CSS özel özelliği atayabilir ve değiştirebilirsiniz:
CSS aracılığıyla değerlendirme:
element {
--element-width: 300px;
width: var(--element-width, 100%);
}
JS ile Ödev
ELEMENT.style.setProperty('--element-width', NEW_VALUE);
JS ile mülk değerini alma
ELEMENT.style.getPropertyValue('--element-width');
İşte faydalı bağlantılar:
<h1>Silence and Smile</h1>
<input type="button" value="Show Red" onclick="document.getElementById('h1').style.color='Red'"/>
<input type="button" value="Show Green" onclick="document.getElementById('h1').style.color='Green'"/>
<body>
<h1 id="h1">Silence and Smile</h1><br />
<h3 id="h3">Silence and Smile</h3>
<script type="text/javascript">
document.getElementById("h1").style.color = "Red";
document.getElementById("h1").style.background = "Green";
document.getElementById("h3").style.fontSize = "larger" ;
document.getElementById("h3").style.fontFamily = "Arial";
</script>
</body>
Aşağıdaki kodun stil sayfasını değiştirmediğini, bunun yerine DOM'yi değiştirdiğini anlamak önemlidir:
document.getElementById("p2").style.color = "blue";
DOM, stil sayfası öğesi özelliklerinin hesaplanan bir değerini depolar ve Javascript kullanarak bir öğe stilini dinamik olarak değiştirdiğinizde DOM'yi değiştirirsiniz. Bunu not etmek ve anlamak önemlidir, çünkü kodunuzu yazma şekliniz dinamiklerinizi etkileyebilir. Doğrudan öğenin kendisine yazılmayan değerleri elde etmeye çalışırsanız, böyle ...
let elem = document.getElementById('some-element');
let propertyValue = elem.style['some-property'];
... kod örneğinin 'propertyValue' değişkeninde saklanacak tanımsız bir değer döndürürsünüz. Bir CSS stil sayfasının içine yazılan özellikleri almak ve ayarlamak için çalışıyorsanız ve bu durumda çok yaygın bir durum olan stil özelliği değerlerini ayarlamanın yanı sıra bir TEK FONKSİYON istiyorsanız , o zaman JQuery kullanmak zorunda.
$(selector).css(property,value)
Tek dezavantajı JQuery bilmek lazım, ama bu dürüst olmak gerekirse her Javascript Geliştirici JQuery öğrenmek gerekir çok iyi nedenlerinden biridir. Saf JavaScript'te bir stil sayfasından hesaplanan bir CSS özelliği almak istiyorsanız, kullanmanız gerekir.
function getCssProp(){
let ele = document.getElementById("test");
let cssProp = window.getComputedStyle(ele,null).getPropertyValue("width");
}
Bu yöntemin dezavantajı, getComputedValue yönteminin yalnızca alacağı, ayarlanmadığıdır. Mozilla'nın Hesaplanan Değerleri Alması Bu bağlantı, burada ele aldığım şeyler hakkında daha derinlemesine ilerliyor. Umarım Bu Birine Yardımcı Olur !!!
-webkit-background-size? Bunları düz js ile ayarlamanın bir yolu var mı yoksa jQuery kullanmak zorunda mıyız?