如何用纯JavaScript获取div中的图像集的src值?

时间:2018-05-30 06:47:12

标签: javascript url src getelementsbytagname getelementsbyclassname

我有一个包含图像和元素的元素列表。更多元素。我需要得到图像的src。 HTML代码就是这样。

<div class="flex-card">
    <div class="flex-figure">
        <a href="">
            <figure class="image">
                <span class="fig-lable">Colombo</span>
                <img src="https://wenuka.com/media/visit-fl/banner-img.jpg" class="tile-media"/>
            </figure>
        </a>
    </div>
</div>

我尝试使用此代码获取图像的src。

var elem = document.getElementsByClassName("flex-figure");

for (var i = 0; i <= elem.length; i++) {
    var imgTag = elem[i].getElementsByTagName('img')[0];
    var srcLink = imgTag.src;
    console.log(srcLink);
}

它会出现以下错误。

Uncaught TypeError: Cannot read property 'src' of undefined

3 个答案:

答案 0 :(得分:0)

更改

for (var i = 0; i <= elem.length; i++) {

for (var i = 0; i < elem.length; i++) {

&#13;
&#13;
var elem = document.getElementsByClassName("flex-figure");

for (var i = 0; i < elem.length; i++) {
    var imgTag = elem[i].getElementsByTagName('img')[0];
    var srcLink = imgTag.src;
    console.log(srcLink);
}
&#13;
<div class="flex-card">
    <div class="flex-figure">
        <a href="">
            <figure class="image">
                <span class="fig-lable">Colombo</span>
                <img src="https://wenuka.com/media/visit-fl/banner-img.jpg" class="tile-media"/>
            </figure>
        </a>
    </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你有一个一个一个错误,但为什么不使用querySelectorAll代替它,它会更清洁:

const imgs = document.querySelectorAll('.flex-figure img');
imgs.forEach(img => console.log(img.src));
<div class="flex-card">
    <div class="flex-figure">
        <a href="">
            <figure class="image">
                <span class="fig-lable">Colombo</span>
                <img src="https://wenuka.com/media/visit-fl/banner-img.jpg" class="tile-media"/>
            </figure>
        </a>
    </div>
</div>

querySelectorAllgetElementsBy*方法更灵活,并且还返回一个可以直接迭代的静态NodeList,与其他方法(返回实时HTMLCollections,这可能很难处理)。

答案 2 :(得分:0)

&#13;
&#13;
console.log(document.getElementsByTagName("IMG")[0].src)
&#13;
<div class="flex-card">
    <div class="flex-figure">
        <a href="">
            <figure class="image">
                <span class="fig-lable">Colombo</span>
                <img src="https://wenuka.com/media/visit-fl/banner-img.jpg" class="tile-media"/>
            </figure>
        </a>
    </div>
</div>
&#13;
&#13;
&#13;