jquery selectors vs vanilla JS选择器,.length返回不同的结果

Guy*_*Guy 0 javascript jquery

给出以下HTML页面提取.

<form>
    <select id="select">
    <option></option>
    <option></option>
    <option></option>           
    </select>
</form>
Run Code Online (Sandbox Code Playgroud)

一个结果console.log();使用$("#select").length返回1和document.getElementById("select").length回报3.有没有人有任何见解,为什么这样?我正在寻找使用返回值运行循环,但我不明白为什么它不同.难道他们都不应该返回3?谢谢!

SLa*_*aks 6

$(...)返回一个jQuery对象,它是一个具有零个或多个元素的类数组对象.
length返回对象中元素的数量.

document.getElementById()返回单个DOM对象,而不是任何数组(与getElement ByClassName 等复数版本相反).
巧合的是,<select>元素有一个length属性,它返回的项目数<select>.
这就是你所看到的.