2012-06-23 29 views
8

img要素のsrcをHTMLで取得したいとします。divからimg要素のsrcを取得しますか?

<div class="image_wrapper" id="this_one"> 
     <img src="Images/something.jpg" /> 
</div> 

私はimgにIDを入れて、このsrcを非常に簡単にするととても簡単です。

しかし、問題はdiv要素からimgのsrcを取得したときです。

var someimage = document.getElementById('this_one').firstChild.getAttribute("src"); 
alert(someimage); 

このURLを文字列で取得する必要があります。しかし、価値はありません。私はここではしませんでしたいくつかのエラーチェックがあり

https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName

:あなたが見てみたいことがありgetElementsByTagNameのを使用する方法の詳細について

var someimage = document.getElementById('this_one'); 
var myimg = someimage.getElementsByTagName('img')[0]; 
var mysrc = myimg.src; 

+0

? – Coder

答えて

21

なぜこのような何かをしようとしませんしかし、私はあなたがそれをどうやってできるかを示しているだけです。

+0

ありがとうございます。その仕事 – user1477082

1

問題は、divimgタグの間にスペース文字があることです。そのため、divの最初の要素はイメージではなく、テキストであり、メソッドはありません。getAttribute

あなたはスペースを削除し、それがあったように、あなたのJSを使用することができます。

<div class="image_wrapper" id="this_one"><img src="Images/something.jpg" /></div> 

それが働くことになります。

var someimage = document.getElementById('this_one').firstChild.getAttribute("src"); 
alert(someimage); 

あなたにgetElementsByTagName('img')を使用してのDIVから画像タグを取得することができます以下:

var divEl = document.getElementById('this_one'), 
    src = divEl.getElementsByTagName('img')[0].src; 

上記はあなたの仕事を解決します。

ここからScripting Documentsを得ることができます。この章を読むことをお勧めします。

3

それとももっと簡単:

document.getElementById('yourimageID').getElementsByTagName('img')[0].src 

作品私のために

1

私は質問はjqueryの

var image = $('#this_one img')[0];  // $('#this_one img') this will return the img array. In order to get the first item use [0] 
var imageSrc = image.src; 
alert(imageSrc); 

のためにそれが誰かのために役に立つかもしれない、回答されているJSを求めている知っています誰がjqueryで同様に見えますか?

1

element.firstChildを使用する代わりに、element.children[0]を使用してください。また、element.getAttribute('src')の代わりにelement.srcを使用してください。このことができます

希望、あなたが_someimage_で何を得る

Awesomeness01

関連する問題