2012-08-29 37 views
0

我无法用jquery更改图像:怎么回事?无法用jquery更改图像中的src

<!DOCTYPE HTML> 
<HTML> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 

<script text="text/javascript"> 
$('#caccia').attr('src', '2.png'); 
</script> 

<img id="caccia" src="1.jpg" /> 

</HTML> 

回答

5

这是因为您还没有告诉您的脚本需要等待DOM准备就绪,而是直接写入该脚本。

$(function() { 
    $('#caccia').attr('src', '2.png'); 
}); 

这是一样的(它可以更容易理解这种方式)。

$(document).ready(function() { 
    $('#caccia').attr('src', '2.png'); 
}); 

另外,最好是有你的JavaScript太赫兹之前</body>http://developer.yahoo.com/performance/rules.html#js_bottom

2

你需要把内

$(function(){ 
    // your code here 
}); 

代码通过这种方式,将执行该脚本只有当所有元素你的DOM已经被渲染了。

0

试试这个代码

<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 

    <script text="text/javascript"> 
     $(document).ready(function() { 
      $('#caccia').attr('src', '2.png'); 
     }); 
    </script> 
    </head> 
    <body> 
    <img id="caccia" src="1.jpg" /> 
</body> 
1

如果你想只改变形象,只要在页面加载:

你可以做这样的事情在jQuery的:

$(document).ready(function(){ 
    $('#caccia').attr('src','2.jpg'); 
}); 

演示:http://jsfiddle.net/QJKWK/1/

+0

你应该真正解释你的答案,不只是包括一个链接到一个的jsfiddle。 – jfriend00

+0

更新了我的答案。 – insomiac