Als*_*ton 5 javascript jquery dom
这是HTML:
<html>
<head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery-1.7.2.js"></script>
<script type="text/javascript" src="access.js"></script>
</head>
<body>
<button id="trigger"></button>
<img id= "testElement" style= "position: absolute; border-color: white; top:340px; left:615px;" width="34px" height= "34px" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
access.js文件是:
$(document).ready( function(){
$('#trigger').click(function(){
$('#testElement').src="success.png";
//THIS WON'T WORK.
document.getElementById('testElement').src= "success.png";
//BUT THIS WORKS.
});
});
Run Code Online (Sandbox Code Playgroud)
我知道如果我使用$,则返回对象是一个jQuery对象.它与getElementById不同.但为什么jQuery选择器不能在这里工作?
我需要jQuery对象来做更多的操作,比如"append/style"......
谢谢.
更新 太多正确答案几乎同时出现...请给出更多解释让我决定谁应该给予信用,谢谢!
很抱歉我对你的正确答案了解不多......我只想了解更多细节.
所有属性节点(src/width/height ...)都不是jQuery对象的属性吗?那么jQuery选择器只选择像img/p/li/div节点那样的DOM元素节点吗?(<>导致一些错误.)
请看一下更新的信息......谢谢!
jQuery元素是一个包含在类似数组的 jQuery对象中的DOM元素,因此您可以访问所有jQuery方法,但这意味着您"失去"对原始DOM方法和属性的访问权限.您可以使用jQuery方法或抓取原始DOM元素以使用vanilla属性.
$('#testElement').attr('src', 'success.png');
$('#testElement')[0].src = 'success.png';
--^-- get DOM element
Run Code Online (Sandbox Code Playgroud)
因为您需要.attr()在jQuery对象上使用jQuery方法:
$('#testElement').attr("src", "success.png");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2812 次 |
| 最近记录: |