首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为动态更改id的输入字段赋值

为动态更改id的输入字段赋值
EN

Stack Overflow用户
提问于 2019-08-28 21:55:00
回答 1查看 140关注 0票数 1

我想给一个输入字段赋值,它会动态地改变它的id。该字段如下所示。

代码语言:javascript
复制
<input aria-autocomplete="list" aria-labelledby="downshift-5-label" autocomplete="off" id="downshift-5-input" placeholder="Enter agent name" class="css-1u5bp1w etr7mik2" value="">

我的要求是为这个字段赋值。我已经尝试了下面的方法。它显示出现在UI中的值,但不会在上面的value="“字段中赋值。

代码语言:javascript
复制
document.querySelector('*[placeholder="Enter agent name"]').value = "bf5a4";

有什么方法可以给这个字段赋值吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-28 22:09:02

HTML元素在属性和属性之间有区别。

简而言之,每当你在javascript element.xyz中这样做的时候,你访问的是一个名为xyz的属性,而不是属性。

但是,当您检查HTML <>标记时,您查看的是属性。因此,您的代码正确地设置了value属性,但是您不会看到<input... value="bf5a4">,因为您还没有设置value属性。

如果您确实想要设置该属性,则必须显式调用setAttribute (mdn),例如:

代码语言:javascript
复制
let el = document.querySelector('*[placeholder="Enter agent name"]');

el.value = 'bf5a4-property'; // sets property
el.setAttribute('value', 'bf5a4-attribute'); // sets attribute (// <input... value="bf5a4-attribute">)
代码语言:javascript
复制
<input aria-autocomplete="list" aria-labelledby="downshift-5-label"
       autocomplete="off" id="downshift-5-input" placeholder="Enter agent name"
       class="css-1u5bp1w etr7mik2" value="">

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57694120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档