以前一直认为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” ) 效果就一样了