javascript - 为什么我不能在 JS 和 jQuery 中使用同一个变量?

标签 javascript jquery

为什么我不能在 JS 和 jQuery 中使用同一个变量? 例如:

var elHTML = '<div></div>';
var el = document.getElementById('elementFirst'); //js code
el.innerHTML = elHTML; //js code
//it works!

如果我像这样更改一些代码..

var elHTML = '<div></div>';
var el = $('#elementFirst'); //jQuery code
el.innerHTML = elHTML; //js code
//not work!

或者这个

var elHTML = '<div></div>';
var el = document.getElementById('elementFirst'); //js code
el.html(elHTML); //jQuery code
//not work!

在最后两个代码中 #elementFirst 没有任何反应

感谢您提前回答

最佳答案

因为$() 返回的不是HTMLElement,而是用jQuery 对象 包裹的DOM 元素。 jQuery 的函数只能与 jQuery 对象 一起使用。

在第二种情况下,您使用了 innerHTML 属性,它在 jQuery 的对象中不存在。

在第三种情况下,您使用了 html() 函数,这是一个 jQuery 函数,但您已经将它与 HTMLElement 一起使用。

查看示例。

可以看到jQuery对象中没有innerHTML属性,DOM元素中没有html函数。

var jEl = $('#elementFirst');
console.log('innerHTML' in jEl);

var domEl = document.getElementById('elementFirst');
console.log('html' in domEl);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='elementFirst'></div>

关于javascript - 为什么我不能在 JS 和 jQuery 中使用同一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46067437/

相关文章:

javascript - 如何添加图像链接以使其在新选项卡中可点击?

javascript - 如何在 knockout.js 中添加由 javascript 方法生成的 css 类?

JQuery AJAX POST 调用需要很长时间

jquery - mvc3中如何只显示日期?

javascript - 获取当前部分 ID

javascript - 如何使轮播占据整个页面宽度

javascript - JS : Clicking on a object from array

javascript - Selenium 。按类查找元素并使用 JS 将其从 DOM 中删除

javascript - 错误 : $controller:ctrlreg The controller with the name '{0}' is not registered

jquery qtip 未在正确的位置显示独特的工具提示