通过以下测试:
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();
}<img src="${pageContext.request.contextPath }/validCodeServlet" id="imageYZ" alt="换一张" onclick="reloadValidCode(this)"/>
看不清?<a href="#this" onclick="refresh();"> 换一张</a>
我很打算在refresh()函数中使用
进行设置,但是发现不行;原来alert(o)的结果是:
从这里不难看出两者真的不一样;
$("#imageYZ")和document.getElementById("imageYZ")倒底是什么内容。调试结果如下:
$("#imageYZ") [img#imageYZ]
document.getElementById("imageYZ") img#imageYZ
想必,看到这里,不用我说,大家也会想到结果了。
实际上,$("#imageYZ")[0]等同于 document.getElementById("imageYZ")