Javascript;选择嵌套元素会抛出一个“";“不是一个函数”;错误

Javascript;选择嵌套元素会抛出一个“";“不是一个函数”;错误,javascript,Javascript,我需要在另一个元素中选择一个元素(表单中的按钮)。我通常使用jQuery;看起来是这样的: element = $('#webform-client-form-1812 input[name="op"]'); 但我无法在此项目上使用jQuery,因此我尝试: element = document.getElementById("webform-client-form-1812").getElementsByName("op")[0]; 但我得到了一个错误: 未捕获的TypeError:doc

我需要在另一个元素中选择一个元素(表单中的按钮)。我通常使用jQuery;看起来是这样的:

element = $('#webform-client-form-1812 input[name="op"]');
但我无法在此项目上使用jQuery,因此我尝试:

element = document.getElementById("webform-client-form-1812").getElementsByName("op")[0];
但我得到了一个错误:

未捕获的TypeError:document.getElementById(…).getElementsByName不是函数


这似乎是解决方案对其他人来说显而易见的问题之一。但我已经仔细研究了这一点,我无法发现我的错误。有人能帮我吗?

getElementsByName
只是
document
上的一个方法-与
getElementsByClassName
不同,它不能在单个元素上调用

改用
querySelector
,您可以使用与jQuery中相同的CSS选择器:

const element = document.querySelector('#webform-client-form-1812 input[name="op"]');

使用
querySelector
querySelectorAll
而不是嵌套的
getElement可能会更好。。。getElement
尽可能调用—它减少了不必要的冗长,并使代码更清晰。您可以使用CSS选择器字符串轻松地表达许多复杂的规则,否则编写代码将非常困难。

getElementsByName
只是
文档上的一个方法-与
getElementsByClassName
不同,它不能在单个元素上调用

改用
querySelector
,您可以使用与jQuery中相同的CSS选择器:

const element = document.querySelector('#webform-client-form-1812 input[name="op"]');

使用
querySelector
querySelectorAll
而不是嵌套的
getElement可能会更好。。。getElement
尽可能调用—它减少了不必要的冗长,并使代码更清晰。您可以使用CSS选择器字符串轻松地表达许多复杂的规则,否则编写代码将非常困难。

因为“getElementsByName”和“getElementById”只能由对象“document”和“XMLDocument”支持,您可以与getElementByTagName进行比较。

因为“getElementsByName”和“getElementById”只能由对象“document”和“XMLDocument”支持,所以您可以与getElementByTagName进行比较。

;getElementByTagName的工作方式不同于getElementsByName和getElementById?现在您已经知道了它无法工作的原因,您可以自己解决它,有很多方法可以解决这个问题,而且某些性能也给了您答案;getElementByTagName的工作方式不同于getElementsByName和getElementById?现在您已经知道了它无法工作的原因,您可以自己解决它,有很多方法可以解决这个问题,而且某些性能已经给了您答案