[英]Pure Javascript insert text into <input type=“text”> without attributes
<div style="top: 0px; left: 0px;" class="uiInlineBlock uiMenuHolder"> <div> <input type="text"> </div> </div>
要选择我使用的输入元素:
inputelement = document.getElementsByClassName('uiInlineBlock uiMenuHolder')[0].children[0].children[0];
问题是我试图将文本放入文本区域内,但是通过使用值我设置了值,但文本字段仍然为空。 如何使用纯JavaScript修复此问题?
您可以使用querySelectorAll和级联选择器选择第一个div,因此选择第二个,最后选择输入,而不是从外部div开始逐步选择:
因此,完整字符串'div.uiInlineBlock.uiMenuHolder div input [type = text]'将选择div中包含的div中具有以下两个类的所有输入文本字段:uiInlineBlock uiMenuHolder。
因为querySelectorAll将返回一个列表,并且由于您只有一个输入,所以您需要采用结果的第一个元素。
window.onload=function() { var inputEle = document.querySelectorAll('div.uiInlineBlock.uiMenuHolder div input[type=text]'); inputEle[0].value = 'your value'; }
<div style="top: 0px; left: 0px;" class="uiInlineBlock uiMenuHolder"> <div> <input type="text"> </div> </div>
inputelement = document.getElementsByClassName('uiInlineBlock uiMenuHolder')[0].children[0].children[0] inputelement.value = 'your value';
<div style="top: 0px; left: 0px;" class="uiInlineBlock uiMenuHolder"> <div> <input type="text"> </div> </div>
更安全
inputelement = document.querySelector('.uiInlineBlock.iMenuHolder input');
inputelement.value = 'your value';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.