DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery常見問題 >> jquery 中的 $(“#”) 與 js中的document.getElementById(“”) 的區別
jquery 中的 $(“#”) 與 js中的document.getElementById(“”) 的區別
編輯:JQuery常見問題     
以前沒注意過,認為jquery 中的 $("#keleyi_com") 與 document.getElementById("keleyi_com") 是一回事,指的是同一個東西。
這次項目開發在使用驗證碼生成的時候,發現兩者不同,使用時需要注意!

通過以下測試:
js中代碼
function reloadValidCode(o) {

alert(o);

o.src = "${pageContext.request.contextPath }/validCodeServlet?timed=" + new Date().getMilliseconds();

}



function refresh() {

alert($("#imageYZ"));

document.getElementById("imageYZ").src = "${pageContext.request.contextPath }/validCodeServlet?timed=" + new Date().getMilliseconds();

}

jsp中代碼
<img src="${pageContext.request.contextPath }/validCodeServlet" id="imageYZ" alt="換一張" onclick="reloadValidCode(this)"/>

看不清?<a href="#this" onclick="refresh();"> 換一張</a>


我很打算在refresh()函數中使用
$("#imageYz").src = "${pageContext.request.contextPath }/validCodeServlet?timed=" + new Date().getMilliseconds();
進行設置,但是發現不行;原來alert(o)的結果是:
[object HTMLCanvasElement]
而alert($("#imageYZ"))的結果是:
[objec Object]
從這裡不難看出兩者真的不一樣;
再用firebug調試看一下,
$("#imageYZ")和document.getElementById("imageYZ")倒底是什麼內容。調試結果如下:

$("#imageYZ") [img#imageYZ]

document.getElementById("imageYZ") img#imageYZ

想必,看到這裡,不用我說,大家也會想到結果了。

實際上,$("#imageYZ")[0]等同於 document.getElementById("imageYZ")
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved