javascript - 更改具有相同 ID 的按钮值

标签 javascript php

当我有这个时,它工作正常。

//php
<input id="somename" type="button" value="Text1" />

//script
<script>
  document.getElementById('somename').onclick = function(){
    this.value = this.value === 'Text1' ? 'Text2' : 'Text1';
  }
</script>

但是当我有这个时,它只适用于第一个按钮。

//php

<input id="somename" type="button" value="Text1" />
<input id="somename" type="button" value="Text1" />

//Script
<script>
  document.getElementById('somename').onclick = function(){
    this.value = this.value === 'Text1' ? 'Text2' : 'Text1';
  }
</script>

有没有办法处理任意数量的按钮?我想对所有按钮使用相同的 ID 和值。

提前致谢!

最佳答案

您应该只有 一个 具有特定 id 的元素。请改用 nameclass HTML 属性。因此,您可以通过执行 document.getElementsByClassNamegetElementsByName 获取元素数组。

试试这个,只使用纯 javascript

Array.prototype.forEach.call(document.getElementsByName('somename'), function(button){
    button.onclick = function(){
        this.value = this.value === 'Text1' ? 'Text2' : 'Text1';
    };
});

并且在您的 HTML 中,请记住更改 name 属性的 id 属性:

<input name="somename" type="button" value="Text1" />
<input name="somename" type="button" value="Text1" />

我做了这个jsfiddle让你看到代码工作。检查一下!

关于javascript - 更改具有相同 ID 的按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827329/

相关文章:

javascript - 如何在javascript Imacros中使用Goto语句

javascript - express.js req.body 在中间件中未定义

PHP - 如何检查 Curl 是否实际发布/发送请求?

php - 在 CSS 中缓存 Busting 图像

javascript - PHP:只有在成功登录后才能访问文件夹的文件

javascript - jquery ui 两个draggables冲突

javascript - 根据多个字符串对数组进行排序

javascript - Vue.js axios delete方法删除数组中的错误对象

php - PHP Imagick 中的裁剪错误?

php - 网页在 Chrome 移动版 (Android) 上无法正确显示