olmayan katı modda katı modda
- Atma göz ardı edilmelidir.
CSSOM ve ES5 uyumlu yeni tarayıcılarda
, atama
Tam ayrıntıları
çalışması gerekir ElementCSSInlineStyle
arayüzünde aşağıdaki gibi tanımlanmıştır:
interface ElementCSSInlineStyle {
readonly attribute CSSStyleDeclaration style;
};
Dolayısıyla style
tesiste gaz giderici bir accessor property olarak değil, setter olmadan uygulanmalıdır. Böyle bir özelliğe bazı değerini atamaya çalışırsanız ECMAScript 5 göre
Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'style'); /* {
configurable: true,
enumerable: true,
get: function(){...},
set: undefined
} */
bir hata katı modda atılmalıdır:
When an assignment occurs within strict mode code , [...] the LeftHandSide also may not be a reference [...] to an accessor property with the attribute value {[[Set]]:undefined} [...]. In these cases a TypeError exception is thrown.
Ancak DOM L2 Stili yeni yerini almaktadır CSS Nesne Modeli (CSSOM).
bu özelliğe göre, HTMLElement
tarafından uygulanan arayüzünün ElementCSSInlineStyle
ait style
IDL niteliği, bir [PutForwards]
genişletilmiş özellik olarak tanımlanır: style
özelliğini ayarlayarak ayarı gibi davranır gerektiği anlamına gelir
[NoInterfaceObject]
interface ElementCSSInlineStyle {
[SameObject, PutForwards= cssText ] readonly attribute CSSStyleDeclaration style ;
};
cssText
CSSStyleDeclaration
'dan biri. Bu nedenle, bunlar eşdeğer olmalıdır:
element.style = styleString;
element.style.cssText = styleString;
Bu nedenle, yeni tarayıcılarda çalışır.
Daha fazla dikkatlice okuyun. 'stilleri (salt okunur) stil özelliğine bir dize atayarak ayarlanamaz' – SLaks
Kod, Chromium 50 üzerinde çalışır (belki daha önce). – Oriol