以前一直認為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” ) 效果就一樣了