2017-06-12 48 views
0

我试图在wordpress中将来自忍者窗体的某些表单元素添加到aria-required =“true”属性。我正在使用header/footer脚本注入插件。但我似乎无法让我的代码实际工作。任何帮助将不胜感激!JavaScript添加咏叹调属性

http://champion.magnet.today/contact/

<script> 
 
function codeAddress() { 
 
    var x = document.getElementsByClassName("nf-element"); 
 
    var i; 
 
    for (i = 0; i < x.length; i++) { 
 
     x[i].addAttribute("aria-required", "true"); 
 
    } 
 
window.onload = codeAddress 
 
} 
 
</script>
<div class="nf-field-element"> 
 
    <input id="nf-field-17" name="nf-field-17" class="ninja-forms-field nf-element" type="text" value="" placeholder="First Name"> 
 
</div>

回答

0

尝试x[i].setAttribute("aria-required", "true");

0

您需要使用setAttribute更换x[i].addAttribute("aria-required", "true");。此外window.load应该是codeAddress功能

function codeAddress() { 
 
    var x = document.getElementsByClassName("nf-element"); 
 
    var i; 
 
    for (i = 0; i < x.length; i++) { 
 
    console.log(x[i]) 
 
    x[i].setAttribute("aria-required", "true"); 
 
    } 
 

 
} 
 
window.onload = codeAddress
<div class="nf-field-element"> 
 
    <input id="nf-field-17" name="nf-field-17" class="ninja-forms-field nf-element" type="text" value="" placeholder="First Name"> 
 
</div>

+0

只是去尝试,仍然没有运气之外。我不确定是否因为表单元素是通过忍者表单插件生成的。我通过使用一个按钮来运行它,它似乎工作。有没有一种方法可以让它在没有函数的情况下在整个页面上工作? –

+0

可能不是最好的方法,但我使用了延迟,现在看起来工作正常。 setTimeout(function(){codeAddress();},2000); –

相关问题