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” ) 效果就一样了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM