2016-04-08 6 views
3

Ben bir DOM sorgusunun sonucunu saklayan bir typescript değişkeni var? Htmlelements içeren bir dizi beklerim?Tipcript'te html öğeleri için dizi türü nedir?</p> <pre><code>let games = document.getElementsByTagname("game"); </code></pre> <p>Ama sonuç dizinin doğru türde nedir:

// not working 
let games : Array<HTMLElement> = document.getElementsByTagName("game"); 
// also not working 
let games : NodeList<HTMLElement> = document.getElementsByTagName("game"); 
+0

Array /Array türünü kullanabilirsiniz, bkz. – Ajay

+0

Array kullanırken bu hatayı alıyorum: 'NodeListOf ', 'Element []' türüne atanamaz. Özelliğin 'itme' türü 'NodeListOf ' türünde eksik. – Kokodoko

+0

, Array yerine NodeListOf kullanın. Muhtemelen hatalarınızı çözecektir. – Ajay

cevap

3

Örneğin, NodeListOf<T> kullanmak gerekir: Bir HTMLElement[] sıkıştıracaksın tip iddialarını kullanabilirsiniz, ancak bu yanıltıcı tip bilgi vermek ve araçları yalan yapacak

let games : NodeListOf<Element> = document.getElementsByTagName("game"); 

.

+2

Ah .. Ben "NodeListOf" aslında bir tür olduğunu bilmiyordum ... ("Of" ne anlama geliyor?). Ayrıca, neden DOM elemanları için çok farklı türleri? (NodeList, NodeListOf, Öğe ve HTMLElement). DOM'ımdan bir div almak için bir türden diğerine yayın yapmaya devam etmek çok zor görünüyor. – Kokodoko

İlgili konular