如何使用javascript在锚标签下找到图像

时间:2013-09-30 05:02:01

标签: javascript jquery html

HTML

<div id="mydiv">
    <a id="a1" href="javascript:DisplayURL();">
    <img src="image1.png" />
    </a>
</div>

的Javascript

 function DisplayURL(){
     if ($('#mydiv').find('#a1').has("img"))
                {
                    alert($('a#a1 img').has("img").attr('src'));
                }
    }

我在警报中未定义?

2 个答案:

答案 0 :(得分:1)

  1. .has()返回一个jQuery包装器,因此您需要测试返回对象的长度
  2. 由于a元素有id,因此选择器$('#mydiv').find('#a1')可以缩减为$('#a1')
  3. $('#a1 img')选择img内的a1,因此无需使用.find()
  4. 应该是

    function DisplayURL() {
        if ($('#a1').has("img").length) {
            alert($('#a1 img').attr('src'));
        }
    }
    

    可以进一步改为

    function DisplayURL() {
        var $imgs = $('#a1 img');
        if ($imgs.length) {
            alert($imgs.attr('src'));
        }
    }
    

答案 1 :(得分:0)

你可以这样试试。

function DisplayURL() {
    if ($('#mydiv #a1').has("img").length) {
        alert($('#mydiv #a1').find("img").attr('src'));
    }
}