2012-06-25 85 views
0
<html> 
<head></head> 
<body> 
<div id="ctl00_ContentPlaceHolder1_ctl00_ctl01_Showcase"> 
<div style="width:100%;text-align:center;"><img src="http://www.xyz.com/aaa.gif" id="ctl00_ContentPlaceHolder1_ctl00_ctl01_loderImg" alt="Loading" /></div>  </div> 
<script> 
q= document.getElementById('ctl00_ContentPlaceHolder1_ctl00_ctl01_Showcase').childNodes[1].getAttribute('src').innerHTML; 

alert(q); 

</script> 
</body> 
</html> 

如何访问img标签的'src'属性?即时消息上面的代码它给出了空值,所以最新错了?如何在javascript中访问<img>标记的'src'属性?

回答

7

您可以直接在您的图片上使用src。此外,你不需要.innerHTML

演示:http://jsfiddle.net/ThinkingStiff/aU2H2/

document.getElementById('ctl00_ContentPlaceHolder1_ctl00_ctl01_loderImg').src; 

HTML:

<html> 
<head></head> 
<body> 
<div id="ctl00_ContentPlaceHolder1_ctl00_ctl01_Showcase"> 
    <div style="width:100%;text-align:center;"><img src="http://placekitten.com/100/100" id="ctl00_ContentPlaceHolder1_ctl00_ctl01_loderImg" alt="Loading" /></div>   
</div> 
<script> 
    q = document.getElementById('ctl00_ContentPlaceHolder1_ctl00_ctl01_loderImg').src; 
    alert(q); 
</script> 
</body> 
</html> 
0

首先,您不应该在末尾使用.innerHTML,因为属性没有innerHTML数据。其次,JS在处理空白时如何处理孩子是非常脆弱的。我建议像别人指出的那样通过ID来定位图像。另外,您可以使用这样的事情:

q= document.getElementById('ctl00_ContentPlaceHolder1_ctl00_ctl01_Showcase').getElementsByTagName("img")[0].getAttribute("src"); 

引用ctl00_ContentPlaceHolder1_ctl00_ctl01_Showcase节点,然后找到它下面的图像。

0

随着jQuery

var imgsrc = $("#ctl00_ContentPlaceHolder1_ctl00_ctl01_loderImg").attr("src");

jQuery是IMO的最可靠的方法。

+1

用户没有标记的jQuery中 – coolguy

+0

我建议使用jQuery对这种事情的问题 - 它处理得很好 – stackunderflow

+0

呀我们都知道最好的方式是jquery ..我也同意..但提问者想在javascript – coolguy

4
alert(document.getElementById('your_image_id').getAttribute('src')); 
相关问题