感谢您的阅读。 因此,输入标签没有ID或类名。 value属性也是自定义的。 这就是我正在尝试的。
HTML
<input name="password" data-value="">
。
@"var aTags = document.getElementsByTagName('input');
var searchText = 'password';var found;
for (var i = 0; i < aTags.length; i++)
{
if (aTags[i].textContent == searchText){found =
aTags[i].setAttribute('data-value','123456789');
alert(found.getAttribute('data-value')); break;}
}");
或
var myInput=$('input[data-value='']').setAttribute('data-value','12345678');
alert(myInput.getAttribute('data-value'));
我尝试按名称使用get元素,但是没有显示任何内容。我认为可能会有多种结果。我想要一个更安全的解决方案。
答案 0 :(得分:1)
非常感谢大家,我没想到会有如此出色的答复。
我很想知道如何解决这个问题,但显然以下几行有效
aTags[i].value='123456789';
我想如果找不到确切的“值”属性,则将带有“值”一词的任何内容视为一个值字段。
感谢闪光,我想attr也可以解决这个问题。
答案 1 :(得分:0)
var myInput = $('input[name="password"]').setAttribute('data-value','12345678');
alert(myInput.getAttribute('data-value'));
尝试一下
答案 2 :(得分:0)
由于您已经在使用jQuery,因此可以使用attr()
方法来获取指定属性的值。
var myInput = $('input[data-value]').attr("data-value","12345678");
console.log(myInput.attr('data-value'))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" data-value="">
答案 3 :(得分:0)
var myInput = $('input[name="password"]').attr('data-value','12345678');
alert(myInput.attr('data-value'));
尝试这样的事情
答案 4 :(得分:0)
我希望它会有所帮助。
AppModule
const setAttribute = (attr, val) => input => {
return input.setAttribute(attr, val)
}
window.addEventListener("load", () => {
const searchValue = "1231"
const selector = `input[value='${searchValue}']`;
const inputs = Array.from(document.querySelectorAll(selector));
inputs.map(setAttribute("data-value", "1231231"))
})
答案 5 :(得分:0)
<input />
是一个自闭元素,因此不会具有textContent
属性。但是,是的,如果您使用<input>text content</input>
,则在某些浏览器中可以使用,但在其他浏览器中则无法使用。
我建议将值保留在input
上的属性中。按照下面的示例。
文档:
关于textContent:https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent
自动关闭元素:https://developer.mozilla.org/en-US/docs/Glossary/Empty_element
<input type="text" data-textcontent="password"/>
JS
var aTags = document.getElementsByTagName('input');
var found;
var searchText = 'password';var found;
for (var i = 0; i < aTags.length; i++)
{
console.log(aTags[i].getAttribute('data-textcontent'));
if (aTags[i].getAttribute('data-textcontent') == searchText){
aTags[i].setAttribute('data-value','123456789');
found = aTags[i].getAttribute('data-value');
break;
}
}
console.log(found);
答案 6 :(得分:0)
使用jQuery,您可以直接访问数据属性,但由于可能存在多个属性,因此必须循环访问它们:
AK▒Bh▒▒δ*@▒x~
或者,如果输入字段仅为一个,则使用id:
$.each($('input[data-value='']'),function(){
$(this).data('value','12345678');
});
和
<input type='password' id="pwd" data-value="" />