做getElementsByClassName(等类似的功能getElementsByTagName和querySelectorAll)的工作方式相同getElementById,还是他们返回元素的数组?
我问的原因是因为我试图改变所有元素的样式getElementsByClassName.见下文.
//doesn't work
document.getElementsByClassName('myElement').style.size = '100px';
//works
document.getElementById('myIdElement').style.size = '100px';
我正在尝试创建一个函数,该函数将查看用户名(如果无效),然后向用户发送警报,清除用户名字段,然后将用户名字段重新置于焦点中。我正在尝试使用 getElementsBynName() 函数来完成这一切。除了让现场重新成为焦点之外,一切都在进行。我的代码如下。有没有人有什么建议。
function uchecker(uname)
{
var validUname = uname.search(/^\w+@sabc.com$/);
if(validUname != 0)
{
    alert("You have entered an invalid username. \n The username must be a valid @sju.edu    email    address value " + document.getElementsByName('uname')[0].value);
    document.getElementsByName('uname')[0].value = null;
    document.getElementsByName('uname')[0].focus();
    /I have also tried  document.getElementsByName('uname').focus, document.getElementsByName('uname')[0].value.focus();
}
}
因此,在 Java 脚本运行之前,焦点字段会更改为下一个字段,即我的密码输入框……它也有自己的验证功能。我有办法让我的 javascript 代码在下一个文本框(密码框)获得焦点之前为我的用户名字段运行吗?