console img src总是未定义的

时间:2014-10-01 03:56:09

标签: javascript html image src

我知道有很多关于这个主题的帖子,但我不知道为什么它一直让我回复" undefined"。

HTML:

<div class="gridShortlist active" onclick="shortlist('1');">
    <img src="../../images/shortlisted.png"/>
</div>

JS:

function shortlist(intValue){
    if (intValue == 1){
        var src = $(this).find('img').attr('src');
        console.log(src);

    }
    else if (intValue == 0){
        alert("deactive");
    }
}

我想返回img的src值,但不确定为什么它只会返回undefined。 任何人都可以帮助纠正我?

3 个答案:

答案 0 :(得分:2)

通过点击传递this,我们可以确保使用了正确的this。此外,将1作为数字而不是字符串传递可能是一个好主意,因为您要与数字进行比较。

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>

<div class="gridShortlist active" onclick="shortlist(this, 1);">
    <img src="../../images/shortlisted.png"/>
</div>

<script>
function shortlist(_this, intValue){
    if (intValue == 1){
        var src = $(_this).find('img').attr('src');
        console.log(src);

    }
    else if (intValue == 0){
        alert("deactive");
    }
}
</script>

</body>
</html>

答案 1 :(得分:0)

document

您可以查看此链接referencejsFiddle

&#13;
&#13;
var ele=document.getElementById("id1");
ele.onclick  =function (){
    var intValue=1
    if (intValue == 1){
        var src = $(this).find('img').attr("src");
        alert(src);
    }
    else if (intValue == 0){
        alert("deactive");
    }
};
&#13;
div{
    display:block;
    background-color:red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="gridShortlist active" id="id1" >
    <img src="../../images/shortlisted.png"/>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以通过以下代码为此做一个简单的jquery解决方案:

$(document).on('click', '.gridShortlist', function (intValue) {
    var src = $(this).find('img').attr('src');
    console.log(src);
});

Working Fiddle