首页 > 解决方案 > Javascript DOM setAttribute 在函数调用中不起作用

问题描述

我有一个带有输入元素的 HTML 文件,我希望向其中添加一个名为“valid-fieldset011”的新属性,该属性用作指向 AngularJS 验证器的链接。输入元素具有属性 id="fieldset011"。如果我使用以下脚本(包含在脚本标签中)

var inputElement = document.getElementById('fieldset011');
inputElement.setAttribute('valid-fieldset011', '');

一切正常。验证器识别新属性。但是,如果我添加属性 onfocus="theFunction()" 并调用以下脚本(也包含在脚本标签中)

function theFunction() {

  var inputElement = document.getElementById('fieldset011');
  inputElement.setAttribute('valid-fieldset011', '');
  console.log("in theFunction");

}

通过单击输入元素,它不起作用。在这种情况下,验证器无法识别新属性。但我知道该函数正在执行,因为“in theFunction”消息出现在浏览器控制台中。

有人知道为什么会这样吗?我想使用该函数,因为我希望能够将元素 ID 作为参数提供。

标签: javascriptangularjs

解决方案


推荐阅读