Javascript - 如何检查元素是否包含图像?

时间:2013-03-23 20:54:07

标签: javascript html

有人可以建议我如何检查元素是否包含图像?我假设它是否包含图像源但不确定如何编码。

5 个答案:

答案 0 :(得分:6)

你可以这样做:

if( elem.getElementsByTagName('img').length > 0) {
    // there is an image
}

编辑:看到你的评论后,试试这个:

var imgs = elem.getElementsByTagName('img'), len = imgs.length, i;
for( i=0; i<len; i++) {
    if( imgs[i].src.match(/\/image\.jpg$/)) {
        // the image is there
        break;
    }
}

答案 1 :(得分:2)

如果你使用的是jQuery,你可以这样做:

if($('#container_id').find('img').length > 0) {
     // Image found on container with id "container_id"
}

答案 2 :(得分:0)

这应该有效,并且不需要像Anael的解决方案那样的JQuery:

<div id="test1"><img src="img.jpg" /></div>
<div id="test2">Hello</div>    

<script>
function hasImage(id) {
    var childElements = document.getElementById(id).childNodes;
    for (var i = 0; i < childElements.length; i++) {
        if (childElements[i].localName != null && childElements[i].localName.toLowerCase() == "img") {
            return true;
        }
    }
    return false;
}

alert(hasImage('test1')); // true
alert(hasImage('test2')); // false
</script>

JSFiddle演示:http://jsfiddle.net/qLPJC/

更新

要查看是否有特定src尝试此更新:

function hasImage(id) {
    var childElements = document.getElementById(id).childNodes;
    for (var i = 0; i < childElements.length; i++) {
        if (childElements[i].localName != null && childElements[i].localName.toLowerCase() == "img") {
            if (childElements[i].getAttribute('src') != null && childElements[i].getAttribute('src').toLowerCase() == "img.jpg") {
                return true;
            }
        }
    }
    return false;
}

alert(hasImage('test1'));
alert(hasImage('test2'));

更新了JS小提琴示例:http://jsfiddle.net/qLPJC/2/

答案 3 :(得分:0)

类似

$("div:has(img)")

如果您使用的是jquery

答案 4 :(得分:-1)

你可以使用js getElementById来获取图像,然后你就可以轻松访问该图像的src,如果src不为空,或者如果包含则src应该有图像路径,它会告诉你天气元素包含图像。

   <html>
    <head>
    <script>
    function myFunction()
    {
     var imgSrc = document.getElementById("myImg").attr('src');
     alert(imgSrc);
    }
    </script>
    </head>

    <body>

    <h1>My Web Page</h1>

    <p id="demo">A Paragraph</p>

    <img id="myImg" src="http://www.blah.com/img.jpg" onclick="myFunction()"></img>

    </body>

</html>