无法使用Javascript更改输入标记的属性

时间:2017-07-05 05:40:28

标签: javascript input

我有一个<input>标记,我想以编程方式进行更改。输入没有内部文本,它将其值保存在aria属性上。

所以,这是<input>

<input type="text" id="foo" aria-valuemin="1" aria-valuemax="10" autocomplete="off" role="spinbutton" aria-valuenow="1">

考虑我们将标记保存到以下bla变量:

var bla = document.getElementById("foo");

下面是我尝试使用的命令列表。但他们都没有工作。

  • bla.value = 2;
  • bla.value = "2";
  • bla.setAttribute("aria-valuenow",2);
  • bla.setAttribute("aria-valuenow","2");

任何想法为什么?元素的id是唯一的,我查了一下。 我正在研究某人的其他代码。是否有可能其他开发人员改变了<input>的行为?

2 个答案:

答案 0 :(得分:0)

正如我的其他用户所指出的,请在命名元素id时使用唯一ID。以下是使用setAttribue()解决问题的方法。

var input = document.getElementById("input");
input.setAttribute("aria-valuenow",2); // To set attribute to input element
console.log(input.hasAttribute('aria-valuenow')) // To check if input has the mentioned attribute
console.log(input.getAttribute('aria-valuenow')); // To access the value of the attribute
<input type="text" id="input" aria-valuemin="1" aria-valuemax="10" autocomplete="off" role="spinbutton" aria-valuenow="2">

答案 1 :(得分:-2)

你可以使用,

document.getElementById("mytext").value = "My value";