为什么我不能在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
没有发生任何事情
感谢提前回答
答案 0 :(得分:4)
由于$()
不会返回HTMLElement
,而DOM element
包含jQuery object
。
jQuery的功能只能用于jQuery objects
。
在第二种情况下,使用innerHTML
属性,该属性在jQuery的对象中不存在。
在第三种情况下,您使用html()
函数,这是一个jQuery函数,但您已将其与HTMLElement
一起使用。
查看示例。
您可以在innerHTML
中jQuery object
和html
函数中看到DOM element
属性不存在。
var jEl = $('#elementFirst');
console.log('innerHTML' in jEl);
var domEl = document.getElementById('elementFirst');
console.log('html' in domEl);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='elementFirst'></div>
&#13;
答案 1 :(得分:0)
var elHTML = '<div>Hello</div>';
var el = $('#elementFirst'); //jQuery code
el.get(0).innerHTML = elHTML;
基本上你使用.get(0)从jQuery过渡到普通的JavaScript