在鼠标MouseOver上的多个div中选择img

时间:2012-06-30 18:37:52

标签: jquery

我有很多<div>个标签彼此分开。他们都有这种布局:

<div class="swatchimgouter">
    <div class="swatchimginner">
        <img src="myimage.jpg" alt="Green"/>
    </div>
</div>

<div class="swatchimgouter">
    <div class="swatchimginner">
        <img src="myimage.jpg" alt="Black"/>
    </div>
</div>

<div class="swatchimgouter">
    <div class="swatchimginner">
        <img src="myimage.jpg" alt="Red"/>
    </div>
</div>

<div class="swatchimgouter">
    <div class="swatchimginner">
        <img src="myimage.jpg" alt="White"/>
    </div>
</div>

想要在"alt" div悬停时获取<img>的{​​{1}}属性。这个事件在悬停时会发射得很好:

swatchimgouter

我尝试了很多选择器组合,但没有一个能够让我访问$("#variations div.swatchimgouter").mouseover(function () { } 属性。由于这些<img>标签中有很多都带有swatchimgouter类,而我想要的是触发上述鼠标悬停事件的标签,我是否会以某种方式使用div来获取img?类似的东西:

this

4 个答案:

答案 0 :(得分:2)

试试这个,

<强> Live Demo

$("#variations div.swatchimgouter").mouseover(function () {

    var previewColor = $('img', this).attr('alt');    

});

答案 1 :(得分:2)

我不确定你尝试了什么,但你的例子或多或少对我有用:

$("#variations div.swatchimgouter").mouseover(function () {
    var previewColor = $('img', this).attr('alt');
    alert(previewColor);
});

演示:http://jsfiddle.net/JtQfh/

答案 2 :(得分:0)

var myAlt = $('img').attr("alt");

或者如果你每个人都有很多想法:

var myAlt = $('div.swatchimginner img').attr("alt");

最快的方法是为你的img元素提供一个id,然后选择它。

答案 3 :(得分:0)

$(document).ready(function () {
        $('#h').mouseover(function() { 
        var s = $('#in img').attr('alt');
        alert(s);
    });
    });