jq中的$("#id")与js中的document.getElementById("id")的区别

以前一直认为jq的$(“#id”)与js中的document.getElementById(“id”) 是等价的,然后前面刚好写了一个button的js控制增加背景颜色

最开始的底层js是

var div1 = document.getElementById('it1');  
div1.style.background='red';

这样定义之后的id为it1的背景颜色就可以改变了,但是如果使用框架封装的去写

var id = $('#it'+num+'');
id.style.background='red';

个人觉得也挺对的呀,先获取了id再进行转变,但是其实是错误的,进入了一个思维误区

原来$(“#it1”) 与document.getElementById( “it1” )是有区别的 
$(“#it1”)是jquary等框架的对象,他实际是一个数组对象 
document.getElementById( “it1” ) ,它是一个DOM对象 ,可进行DOM操作。

如果要用jq或者框架来实现DOM对象的话,需要加个下标 
如:

var id = $('#it'+num+'')[0];

这样与document.getElementById( “it1” ) 效果就一样了

猜你喜欢

转载自www.cnblogs.com/eastwjn/p/9050099.html