接收元素的名称作为对象

iln*_*777 0 javascript element object

这是我的JavaScript代码:

<script>
function change(name){
    var element = document.all.name.value;
}
</script>
Run Code Online (Sandbox Code Playgroud)

它返回一个错误.如何将元素名称传递给函数以更改其值?

Cam*_*ron 7

快速修复:

var element = document.all[name].value;
Run Code Online (Sandbox Code Playgroud)

但请记住,这会获得价值,而不是元素本身.要获取元素,然后更改值,请执行:

var element = document.all[name];
element.value = 'whee';
Run Code Online (Sandbox Code Playgroud)

此外,您应该考虑使用另一种方式来访问元素而不是document.all.查看使用ID而不是使用document.getElementById()函数的名称.请参阅此JavaScript最佳做法列表.

正如Peter Bailey在他的回答中指出的那样,许多HTML元素可以具有相同的名称.这是document.getElementById()优选的一个原因:元素ID是唯一的(当然,在有效的HTML中).