ugrás a tartalomhoz

Javascript Hash nem működik DOM object key-el...

inf · 2008. Júl. 22. (K), 15.55

<body onload="bla()">
<div id="container">
<div id="1">
</div>
<div id="2">
</div>
</div>
<script>
function bla()
{
    var c=document.getElementById("container");
    var items={}
    for (var i=0; i<c.childNodes.length; i++)
    {
        var item=c.childNodes[i];
        if (item.id)
        {
            items[item]=item;
        }
    }
    for (var item in items)
    {
        alert(item);
    }
}
</script>
ezt szeretném megjátszani, a lényeg, hogy a dom object, amit kiválasztok, az saját magának legyen a kulcsa az items hash-ben (objectben).. na most ez alap javascript objecteknél (pl array) működni szokott, itt meg elég furcsa eredményt ad, csak egy item lesz a hash-ben, és az is egy olyan div, aminek se idje, se semmije..

valaki találkozott már ezzel a "hibával"? nem vagyok benne biztos, hogy ez hiba, mert ie és ff is ugyanúgy produkálja, lehet egyszerűen ezt a részt mindenki kihagyta a böngészőjéből.
 
1

Kulcs

Poetro · 2008. Júl. 22. (K), 19.34
JavaScript-ben a kulcsnak szövegnek (String) vagy számnak kell lennie. Amennyiben nem az, akkor történik egy .toString() hívás, és annak az eredménye lesz a kulcs.
2

Sure?

inf · 2008. Júl. 23. (Sze), 00.35
Ez biztos? Én eddig azt hittem, hogy valami memóriacímet, vagy ilyesmiket jegyez meg magának a cucc, de ezek után kipróbálom.
3

Teszteltem.

inf · 2008. Júl. 23. (Sze), 00.38
Teszteltem, és tényleg

var a={}
var b=[0,1]
var c=[0,1]
a[b]="első"
a[c]="második"

for (var i in a)
{
	alert(a[i]+"?"+i)
}
köszi, ez már a második dolog, amiről kiderült, hogy elég komoly tévhit js-sel kapcsolatban nálam...