html中Javascript函数和jquery选择器的功能

Sot*_*lis 1 javascript jquery jquery-selectors

我有这个javascript函数:

function clearDiv(div_id) {
    alert(div_id);
    $(div_id).empty();
}
Run Code Online (Sandbox Code Playgroud)

以下html:

<input value="Clear" type="button" onClick="clearDiv(div_to_clear)" />

<div id="div_to_clear">
    <!-- more html -->
</div>
Run Code Online (Sandbox Code Playgroud)

为什么以上实际上会找到带有id的javascript div对象div_to_clear并使用$选择器来访问它?

如果我做了输入:

<input value="Clear" type="button" onClick="clearDiv('div_to_clear')" />
Run Code Online (Sandbox Code Playgroud)

我需要将我的功能改为

function clearDiv(div_id) {
    alert(div_id);
    $('#' + div_id).empty();
}
Run Code Online (Sandbox Code Playgroud)

有没有关于此的文件?使用一种方法或另一种方法是否有优势?

Den*_*nis 5

IE(以及为兼容性而努力的Chrome)将在窗口上创建属性,其中包含带有id的元素的名称,对应于这些元素.

在第一个示例中,是window.div_to_clear直接指向元素的传递.在第二个中,您传递一个字符串告诉jQuery要选择哪个元素.

第一个是非标准行为,所以你不应该依赖它.