Oto skrypty: http://jsbin.com/itusut/6/editjavascript: jak odróżnić wybranego elementu listy i formy
Cześć, mam funkcję:
function on(t, e, f) {
if (e.length) {
var l = e.length,
n = 0;
for (; n < l; n++) {
e[n].addEventListener(t, f, false)
}
} else {
e.addEventListener(t, f, false);
}
}
jeśli robimy var handle = document.getElementsByClassName('some-class');
następnie handle
jest lista węzłów.
jeśli wykonamy var handle = document.getElementById('an-id');
, wtedy handle
jest pojedynczym węzłem.
Problem polega na tym, że gdy wybieram <form id="login-form">
, to zwracam tablicę nie pojedynczy element.
Moja funkcja on
kończy się niepowodzeniem. Funkcja wykorzystuje filtr elm.length
. Wszystko jest ok, z wyjątkiem <form>
. Jak to naprawić? Wiem, że elm.length nie działa poprawnie na pojedynczym węźle element <form>
.
Czy możesz pomóc? Bardzo dziękuję
Można dodać czek dla tagu nazwisko, ale odpowiedź @zzzzBov wydaje się bardziej odpowiednia. – dc5
'if (e.length &&! E.nodeName) {' –
@ crazy-train: e.nodeName jest dokładną odpowiedzią, dlaczego nie udzielić odpowiedzi? –