document.getElementById('myID')和jQuery元素的JSDoc类型是什么?

Dra*_*cir 11 javascript jsdoc

我正在尝试使用JSDoc语法记录我的函数.

/**
 * 
 * My Description
 * 
 * @param {JQuery|???} input
 * @returns {JQuery}
 */
function foo(input){
    return $('selector');
}
Run Code Online (Sandbox Code Playgroud)

上面的函数接受一个参数,该参数可以是JQuery对象,也可以是返回的元素document.getElementById.

返回值的有效JSDoc类型是getElementById什么?

例如,以下内容均有效:

foo($('#input'));
foo(document.getElementById('input'));
Run Code Online (Sandbox Code Playgroud)

此外,我将来在哪里可以找到这个?

c.P*_*.u1 19

getElementById将始终返回Element的子类型.在HTML文档的情况下,HTMLElement将更合适

document.getElementById('some-anchor').constructor //HTMLAnchorElement
document.getElementById('some-div').constructor //HTMLDivElement
Run Code Online (Sandbox Code Playgroud)

在所有情况下,document.getElementById('some-element') instanceof HTMLElement恕我直言,将返回真实


Pri*_*ner 5

虽然技术上的返回值getElementById就是object,文档应该帮助开发人员知道它是什么.

我个人会去,Element但没有迹象表明你应该使用什么.