javascript如何获取表单元素select

今天学习了《javascipt权威指南》15.9
获取表单和表单元素可以通过nameid,自己试验了一下'

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>select选项试验</title>
    <script type="text/javascript">
        window.onload =function  () {
            var add = document.getElementById("add");
            var zaire = new Option("lalal","zeww",false,false);
            var sel =document.selects.cars;
            add.onclick = function () {
                sel.options[sel.options.length] = zaire

            }
        }
    </script>
</head>
<body>
    <form>
        <select name="cars">
            <option value="volvo">Volvo</option>
            <option value="saab">Saab</option>
            <option value="fiat" selected="selected">Fiat</option>
            <option value="audi">Audi</option>
        </select>
    </form>
    <button id="add">添加一个选项</button>

</body>
</html>

form 没有名字想要通过name获取select,有什么样的方法
自己想到的:

document.selects.cars

不行,最后想到通过id控制
请问怎样可以通过name选择元素

阅读 5.9k
5 个回答

属性选择器啊

document.querySelector("input[name='cars']")//不过页面存在多个时就显得鸡肋了,当然你可以在添加一些条件

以前还真没有注意这个小功能,试了一下才知道。应该是获取form dom以后才能这么获取吧?

试试:

document.querySelector("form").cars

反正我一般操作dome都不是用name获取,非ID则class,你如果非要用name来获取,你可以getElementsByName,或者JQ的$("select[name='cars']"),返回的是类数组吧,况且,这样子获取有意义?你要给select设置样式吧?你加样式名通过class获取也是一样一样的啊

document.querySelector("select[name='cars']");
或者
document.getElementsByName("cars")[0];

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题