DOM setAttribute("input") werkt niet
Code (php)
1
2
3
4
5
2
3
4
5
function mini(){
var input = document.getElementsByTagName("input");
input.setAttribute("onclick", "mmm");
}
var input = document.getElementsByTagName("input");
input.setAttribute("onclick", "mmm");
}
Mijn aanroep:
<html>
<body>
<rightDiv>
Toevoeging op 13/08/2010 22:52:38:
mijn functie:
Code (php)
1
2
3
4
5
2
3
4
5
function mini(){
var input = document.getElementsByTagName("input");
input.setAttribute("onclick", "mmm");
}
var input = document.getElementsByTagName("input");
input.setAttribute("onclick", "mmm");
}
Mijn aanroep:
<html>
<head>
aanroep extern .js bestand met daarin mini() functie zie boven
</head>
<body>
<div id="rightDiv">
<input type="button" onclick="mini()" />
</div>
</body>
</html>
Karl Karl op 13/08/2010 23:15:08:
Ok.
En denk eens na.
En denk eens na.
ratelderatel... could not compute.
Of je snapt engels niet
Of je snapt beide niet
Of ik-weet-niet-waarom-jij-dit-niet-binnen-twee-tellen-ziet
Karl Karl op 13/08/2010 23:27:22:
Of je snapt dom niet
Of je snapt engels niet
Of je snapt beide niet
Of ik-weet-niet-waarom-jij-dit-niet-binnen-twee-tellen-ziet
Of je snapt engels niet
Of je snapt beide niet
Of ik-weet-niet-waarom-jij-dit-niet-binnen-twee-tellen-ziet
ik zie het even niet.
Gewijzigd op 13/08/2010 23:30:44 door www JdeRuijterNL
document.getElementsByTagName levert een NodeList, terwijl setAttribute maar één Node pakt / nodig heeft.
getElementsByTagName() haalt meerdere items op en setAttribute() werkt daarop niet.
Beter gebruik je getElementById() of zet je achter de vorige functie .item(0) om het eerste item te selecteren. Ook kan je met de volgende code de wijziging toepassen op alle items.
Code (php)
1
2
3
4
2
3
4
var inputFields = document.getElementsByTagName('input');
for(i in inputFields) {
inputFields[i].setAttribute("onclick", "mmm");
}
for(i in inputFields) {
inputFields[i].setAttribute("onclick", "mmm");
}
EDIT: Karl heeft toch antwoord gegeven.
Gewijzigd op 13/08/2010 23:41:13 door Pim -
Pim de Haan op 13/08/2010 23:40:31:
Dank Karl voor zijn vriendelijkheid...(...)
Graag gedaan.
Maar dus een simpele zoekactie of gewoon een beetje kennis van DOM, of misschien zelfs logisch nadenken want je doet dus element.actie en je haalt dus meerdere dingen op, had al tot het gewenste resultaat moeten leiden.
Pim de Haan op 13/08/2010 23:40:31:
EDIT: Karl heeft toch antwoord gegeven.
Ja, ik gunde jou niet de eer.
Karl Karl op 13/08/2010 23:44:33:
gewoon een beetje kennis van DOM.
Had ik dat maar, ik ben nog in mijn prutsfase.
Maar opgelost dankzij:
Pim de Haan op 13/08/2010 23:40:31:
Dank Karl voor zijn vriendelijkheid...
getElementsByTagName() haalt meerdere items op en setAttribute() werkt daarop niet.
Beter gebruik je getElementById() of zet je achter de vorige functie .item(0) om het eerste item te selecteren. Ook kan je met de volgende code de wijziging toepassen op alle items.
EDIT: Karl heeft toch antwoord gegeven.
getElementsByTagName() haalt meerdere items op en setAttribute() werkt daarop niet.
Beter gebruik je getElementById() of zet je achter de vorige functie .item(0) om het eerste item te selecteren. Ook kan je met de volgende code de wijziging toepassen op alle items.
Code (php)
1
2
3
4
2
3
4
var inputFields = document.getElementsByTagName('input');
for(i in inputFields) {
inputFields[i].setAttribute("onclick", "mmm");
}
for(i in inputFields) {
inputFields[i].setAttribute("onclick", "mmm");
}
EDIT: Karl heeft toch antwoord gegeven.
Gewijzigd op 14/08/2010 00:03:35 door www JdeRuijterNL