Javascript jquery选择器可以工作,但document.getElementById不能用于添加ES6事件

Javascript jquery选择器可以工作,但document.getElementById不能用于添加ES6事件,javascript,jquery,Javascript,Jquery,我是Javascript的新手,尝试将事件处理程序附加到选择列表。这是我的html: <select id="x_selector"></select> 但这并不是: var xSelector = document.getElementById('x_selector'); xSelector.on("change", event => {console.log(event)}); 对于后者,我得到一个控制台类型错误:xSelector.on不是一个函数 那么

我是Javascript的新手,尝试将事件处理程序附加到选择列表。这是我的html:

<select id="x_selector"></select>
但这并不是:

var xSelector = document.getElementById('x_selector');
xSelector.on("change", event => {console.log(event)});
对于后者,我得到一个控制台类型错误:xSelector.on不是一个函数

那么document.getElementById和jquery选择器之间的区别是什么呢?

.on是一个jquery方法。对于香草javascript,使用.addEventListener.

.on是一种jQuery方法。使用香草javascript,使用.addEventListener。

试试这个:纯工作

document.getElementByIdx_selector.addEventListenerchange,myFunction; 函数myFunction{ var x=document.getElementByIdx_选择器; x、 value=x.value.toUpperCase; } 输入您的姓名:试试这个:纯工作

document.getElementByIdx_selector.addEventListenerchange,myFunction; 函数myFunction{ var x=document.getElementByIdx_选择器; x、 value=x.value.toUpperCase; }
输入您的名称:。on是一个jquery方法,因此,您没有在javascript中使用,对于您尝试的javascript。addEventListenerchange,函数{那么区别是什么:$sel给你一个jquery对象,而.getElementById给你一个文档节点。你可以用$sel.get0从jquery获取节点,另一种方式是用$eg$xSelector包装。jquery的“选择器”不必是文本,它可以是DOM节点。因为它们是不同的对象类型,你可以得到不同的方法。..on是一个jquery方法,所以,您没有在javascript中使用,对于javascript您可以尝试。addEventListenerchange,函数{那么区别是什么:$sel给你一个jquery对象,而.getElementById给你一个文档节点。你可以用$sel.get0从jquery获取节点,另一种方式是用$eg$xSelector包装。jquery的“选择器”不必是文本,它可以是DOM节点。因为它们是不同的对象类型,你可以得到不同的方法。或者试试看这个:$xSelector.onchange,event=>{console.logevent};谢谢,现在我有了这两个选项,因为我也需要以编程方式添加选项。这是可行的:xSelector.addnewoptiontest,test;但我不知道如何在jquery中实现这一点。在同一页面上混合使用jquery和getElementById似乎很愚蠢…@thomas xSelector.append$,{…};也许?@Thomas完全正确,如果您已经包含jQuery,那么您也应该使用它。@Jonas w那么,{和}中的语法是什么呢?如果我想添加与xSelector.addnew Optiontest,test完全相同的内容,或者尝试以下操作:$xSelector.onchange,event=>{console.logevent};谢谢,现在我有了这两个选项,因为我也需要以编程方式添加选项。这是可行的:xSelector.addnewoptiontest,test;但我不知道如何在jquery中实现这一点。在同一页上混合使用jquery和getElementById似乎很愚蠢…@thomas xSelector.append$,{…};也许吧?@Thomas完全正确,如果您已经包含jQuery,那么您也应该使用它。@Jonas w那么{and}中的语法到底是什么呢如果我想添加与xSelector.addnew Optiontest完全相同的操作,test;?这与问题无关,也不是一个好的代码。同意,document.getElementByIdx_选择器应该被缓存。@jeremy thille这是什么?问题是什么?这既与问题无关,也不是一个好的代码。同意,document.getElementByIdx_选择器应该被缓存。@jeremy thille这个?这个什么?问题是什么?
var xSelector = document.getElementById('x_selector');
xSelector.on("change", event => {console.log(event)});