Rozważ tę funkcję:
function validate()
{
var acc = document.getElementsByName('acc').value;
var pass = document.getElementsByName('pass').value;
alert (acc);
}
A ta część HTML:
<table border="0" cellpadding="2" cellspacing="0" valign="top">
<tr>
<td class="td1">Account</td>
<td class="td2"><input type="text" name="acc" /></td>
</tr>
<tr class="td1">
<td>Password</td>
<td class="td2"><input type="password" name="pass" /></td>
</tr>
</table>
<div><button onClick="validate()" class="cupid-greenx">Login now</button></div>
Okno alertu jest wyświetlane, ale pokazuje „niezdefiniowane”.
var inputs = document.getElementsByTagName('input')
:, zwraca listę węzłów, z której można wyodrębnić oba elementy, w ten sposób: var pass = inputs.item ('pass'). Właśnie cynk, prędkość ta może rzeczy w górę, jeśli masz do czynienia z dużym DOM, jak getElementById
przeszuka całe drzewo za każdym razem, podczas gdy liście węzłów nie będzie, więc to szybciej ...
document.getElementById
, które zwraca dokładnie jedną wartość.