13

HTMLのimg要素のsrcを取得したいです。次のようになります。

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

ID を img に入れると非常に簡単で、この src を非常に簡単に取得できます。

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

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

この URL を文字列で取得する必要があります。しかし、価値はありません。

4

6 に答える 6

38

次のようなことを試してみませんか。

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

getElementsByTagName の使用の詳細については、以下を参照してください。

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

ここでは行っていないエラー チェックがいくつかありますが、その方法をお見せしたいと思います。

于 2012-06-23T17:34:20.590 に答える
5

またはさらに簡単:

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

私のために働く

于 2014-07-04T08:44:43.117 に答える
1

私は質問が答えられたjs、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);

jquery で似たような人には役立つかもしれません。

于 2015-01-06T13:51:43.650 に答える
1

div問題は、とimgタグの間にスペース文字があることです。そのため、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からさらに取得できます。この章を読むことをお勧めします。

于 2012-06-23T18:08:27.430 に答える