JavaScript教科书中的任务:在page上找到包含“info [0]”名称的元素,该名称位于表单内,并带有“搜索人”名称。
我的解决方案的变体是:
document.querySelector('form[name="search-person"]').getElementsByName('info[0]')[0];
但是每次我在Firefox控制台中运行代码时都会弹出错误:
TypeError: document.querySelector(...).getElementsByName is not a function
任务的实际答案
document.querySelector('form[name="search-person"] [name="info[0]"]');
比我的简单,但我无法理解为什么我的版本会引发错误,因为我的上一个任务的相似代码 - 找到“搜索”表单中的第一个“输入”元素 - 工作正常:
document.querySelector('form[name="search"]').getElementsByTagName('input')[0];
答案 0 :(得分:0)
但我无法理解为什么我的版本会引发错误,因为 我上一个任务的类似代码
正如错误本身所暗示的那样。
Element没有方法getElementsByName
。
和document.querySelector返回一个元素。