如果我们点击图片怎么找到跨度HTML?

时间:2013-03-08 16:30:15

标签: jquery

如果点击Descriptions

,如何获得<img src="../Images/Checkmark.ico"名称
<li id="liRightDescriptions" style="display: list-item;">
         <span><span>Descriptions</span>
        <img src="../Images/Checkmark.ico" class="checkImage"></span>
    </li>
我厌倦了这个: -

$('.checkImage').live('click', function (event) {
        debugger;
        event.preventDefault();
        var name = $(this).prev().html();

6 个答案:

答案 0 :(得分:1)

尝试:

$('.checkImage').click( function () {
    var name = $(this).prev().html();
    alert(name)
})

答案 1 :(得分:0)

不要使用live折旧的

$('body').delegate('.checkImage','click',function(){
alert($(this).prev().html());

});

答案 2 :(得分:0)

您应该使用.siblings()选择器(http://api.jquery.com/siblings/

作为一个例子:

$('.checkImage').live('click', function (event) {
  var name = $('.checkImage.').siblings('span').html();
}

答案 3 :(得分:0)

live()函数已弃用,已替换为on(),请使用:

$('body').on('click', '.checkImage', function(){
    var text = $(this).prev('span').text();
});

答案 4 :(得分:0)

试试这个

$('.checkImage').click(function() {
    var name = $(this).prev().html();
});

答案 5 :(得分:0)

这可能会有效,除非您的图片中没有关闭 / ,或许更多。 顺便说一句...使用.click()比使用.on()...和.live()折旧要慢。

我得到了它的工作,所以这里有一个固定的小提琴:

http://jsfiddle.net/digitalextremist/QT66f/

基本相同,但我删除了你可能不需要的东西。如果你这样做,请重新添加它们。

$('.checkImage').on('click', function (event) {
        var name = $(this).prev().html();
        alert( name )
})

HTML:

<li id="liRightDescriptions" style="display: list-item;">
    <span>
        <span>Descriptions</span>
        <img src="../Images/Checkmark.ico" class="checkImage" />
    </span>
</li>