kullanarak bir öğenin CSS özelliğini kaldırmak mümkün mü? Örneğin div.style.zoom = 1.2
, şimdi zoom özelliğini JavaScript ile kaldırmak istiyorum?
kullanarak bir öğenin CSS özelliğini kaldırmak mümkün mü? Örneğin div.style.zoom = 1.2
, şimdi zoom özelliğini JavaScript ile kaldırmak istiyorum?
Yanıtlar:
İki seçeneğiniz var:
SEÇENEK 1:
RemoveProperty yöntemini kullanabilirsiniz . Bir öğeden bir stil kaldırır.
el.style.removeProperty('zoom');
SEÇENEK 2:
Varsayılan değere ayarlayabilirsiniz:
el.style.zoom = "";
Etkili yakınlaştırma artık stil sayfalarında (bağlantı ve stil etiketleri aracılığıyla) tanımlanan tanımlardan sonra olacaklardır. Dolayısıyla bu sözdizimi yalnızca bu öğenin yerel stilini değiştirir.
removeProperty , öğeden bir stil kaldırır.
Misal:
div.style.removeProperty ( 'yakınlaştırın');
MDN belge sayfası:
CSSStyleDeclaration.removeProperty
StyleSheets nesnesini kullanabilirsiniz:
document.styleSheets[0].cssRules[0].style.removeProperty("zoom");
Uyarı # 1: Stil sayfanızın dizinini ve kuralınızın dizinini bilmeniz gerekir.
Uyarı # 2: Bu nesne tarayıcılar tarafından tutarsız bir şekilde uygulanır; birinde işe yarayan diğerlerinde işe yaramayabilir.
CSSStyleRule.prototype.removeProperty
CSSStyleRule
CSSStyleSheet.prototype.removeRule
kurtarmak için.
CSSStyleSheet.prototype.deleteRule
?
Bu sınıfa sahip tüm öğeleri bulmayı ve "zoom" özelliğini "hiçbir şeye" ayarlamayı deneyebilirsiniz.
JQuery javascript kütüphanesi kullanıyorsanız, bunu $(".the_required_class").css("zoom","")
Düzenleme: Bu açıklama, 2010 yılından bu yana gerçekten mümkün olmuştur bir yorum ve diğer cevaplara işaret edildiği gibi, doğru olmadığı ortaya çıktı.
Yanlış: JavaScript'te stil sayfalarını değiştirmenin genel olarak bilinen bir yolu yoktur.
css
değil, attr
haklısın.
Bunu jQuery'de şunu da yapabilirsiniz: $(selector).css("zoom", "")
Bu, hile yapmalıdır - yakınlaştırma için satır içi stilini normale ayarlayın:
$ ('div'). attr ("stil", "zoom: normal;");
aslında, zaten mülk biliyorsanız, bu yapacak ...
Örneğin:
<a href="test.html" style="color:white;zoom:1.2" id="MyLink"></a>
var txt = "";
txt = getStyle(InterTabLink);
setStyle(InterTabLink, txt.replace("zoom\:1\.2\;","");
function setStyle(element, styleText){
if(element.style.setAttribute)
element.style.setAttribute("cssText", styleText );
else
element.setAttribute("style", styleText );
}
/* getStyle function */
function getStyle(element){
var styleText = element.getAttribute('style');
if(styleText == null)
return "";
if (typeof styleText == 'string') // !IE
return styleText;
else // IE
return styleText.cssText;
}
Bunun yalnızca satır içi stiller için çalıştığını unutmayın ... bir sınıf veya benzeri bir şeyle belirttiğiniz stiller için değil ...
Diğer not: bu değiştirme ifadesindeki bazı karakterlerden kaçmanız gerekebilir, ancak fikri anlarsınız.
Bir öğenin tüm sınıflarını değiştirmek için:
document.getElementById("ElementID").className = "CssClass";
Bir öğeye ek sınıf eklemek için:
document.getElementById("ElementID").className += " CssClass";
Bir öğenin zaten bir öğeye uygulanıp uygulanmadığını kontrol etmek için:
if ( document.getElementById("ElementID").className.match(/(?:^|\s)CssClass(?!\S)/) )