HTML kaynak kodunu yazarken , HTML öğelerinizde öznitelikler tanımlayabilirsiniz . Ardından, tarayıcı kodunuzu ayrıştırdığında, karşılık gelen bir DOM düğümü oluşturulur. Bu düğüm bir nesnedir ve bu nedenle özellikleri vardır .
Örneğin, bu HTML öğesi:
<input type="text" value="Name:">
2 özniteliğe ( type
ve value
) sahiptir.
Tarayıcı bu kodu ayrıştırdıktan sonra, bir HTMLInputElement nesnesi oluşturulur ve bu nesne düzinelerce özellik içerir: accept, accessKey, align, alt, nitelikler, autofocus, baseURI, işaretli, childElementCount, childNodes, children, classList, className, clientHeight vb.
Belirli bir DOM düğümü nesnesi için özellikler o nesnenin özellikleridir ve öznitelikler attributes
o nesnenin özelliğinin öğeleridir .
Belirli bir HTML öğesi için bir DOM düğümü oluşturulduğunda, özelliklerinin çoğu aynı veya benzer adlara sahip özniteliklerle ilgilidir, ancak bire bir ilişki değildir. Örneğin, bu HTML öğesi için:
<input id="the-input" type="text" value="Name:">
karşılık gelen DOM düğümü olacaktır id
, type
ve value
(diğerlerinin yanı sıra) özellikleri:
id
Tesiste olduğunu yansıyan özellik için id
öznitelik: özelliği alınıyor öznitelik değerini okur ve özelliğini ayarlayarak özellik değerini yazar. id
a, saf yansıyan özelliği, düzeltme veya değeri sınırlamaz.
type
Tesiste olduğunu yansıyan özellik için type
öznitelik: özelliği alınıyor öznitelik değerini okur ve özelliğini ayarlayarak özellik değerini yazar. bilinen değerlerletype
sınırlı olduğu için (örneğin, bir girişin geçerli türleri) salt yansıtılan bir özellik değildir . Eğer olsaydı , o zaman verir ama verir .<input type="foo">
theInput.getAttribute("type")
"foo"
theInput.type
"text"
Buna karşılık, value
özellik value
özniteliği yansıtmaz . Bunun yerine, girişin geçerli değeridir . Kullanıcı giriş kutusunun değerini el ile değiştirdiğinde, value
özellik bu değişikliği yansıtır. Kullanıcı "John"
giriş kutusuna girerse , o zaman:
theInput.value // returns "John"
buna karşılık:
theInput.getAttribute('value') // returns "Name:"
value
Özelliği yansıtan akım ise, giriş kutusu içindeki metin içeriğine value
özellik içeren ilk metin içeriği value
HTML kaynak kodundan öznitelik.
Şu anda metin kutusunun içinde ne olduğunu bilmek istiyorsanız, özelliği okuyun. Bununla birlikte, metin kutusunun başlangıç değerinin ne olduğunu bilmek istiyorsanız, niteliği okuyun. Veya defaultValue
özelliğin saf bir yansıması olan value
özelliği kullanabilirsiniz:
theInput.value // returns "John"
theInput.getAttribute('value') // returns "Name:"
theInput.defaultValue // returns "Name:"
Doğrudan kendi özelliğini (yansıtacak birkaç özellik vardır rel
, id
), bazı hafif-farklı adlarla doğrudan yansımaları (vardır htmlFor
yansıtan for
özelliği, className
yansıtan class
özelliği) onların niteliğini yansıtacak ama birçok kısıtlamalar / modifikasyonlar (ile src
, href
, disabled
, multiple
) ve bu yüzden üzerinde. Spec , çeşitli yansıma türlerini kapsar.