Javascript 按名称选择元素在实践中的问题

Javascript 按名称选择元素在实践中的问题,javascript,dom,getelementsbyname,Javascript,Dom,Getelementsbyname,我正在尝试使用getElementsByName()方法,但它对我不起作用。我无法选择所需的字段。这是我试图从中选择电子邮件字段元素的页面。这是一个预订表单小部件,其中包含一个iframe- var-iframe=document.getElementById(“预订小部件iframe”); var field=iframe.contentWindow.document.querySelector('booking[email]'); 函数changecompy(){ field.placeh

我正在尝试使用getElementsByName()方法,但它对我不起作用。我无法选择所需的字段。这是我试图从中选择电子邮件字段元素的页面。这是一个预订表单小部件,其中包含一个iframe-

var-iframe=document.getElementById(“预订小部件iframe”);
var field=iframe.contentWindow.document.querySelector('booking[email]');
函数changecompy(){
field.placeholder=“你好”;
}
document.getElementById(“按钮”).addEventListener(“单击”,更改副本)
点击

函数
getElementsByName
只接受元素的名称,而不接受属性、类或其他任何内容

然后它返回类似于数组的HTMLCollection(iterable)

“老派”的方式是:

但更简单的是做
document.querySelector('booking[email]')


顺便说一句

如果使用angular,请正确使用它并添加
ng单击
以更改范围中用作占位符的属性

<input placeholder="{{myPlaceHolder}}">
<button ng-click="myPlaceHolder = 'new placeholder'"></button>


使用angular和JavaScript设置属性似乎很奇怪。为什么不将占位符设置为angular?加载元素后是否运行代码?请尝试使用以下文本“booking[email]”。看起来有个看不见的角色在那里。我试着从你的网站上复制文本,并在控制台中进行了尝试,结果成功了,因为元素在iframe中?是的,元素在iframe中。我用我认为是一个解决方案的方法编辑了这个问题和代码片段,但它仍然不起作用。
<input placeholder="{{myPlaceHolder}}">
<button ng-click="myPlaceHolder = 'new placeholder'"></button>