Jquery 如果我们点击图片,如何找到跨html?

Jquery 如果我们点击图片,如何找到跨html?,jquery,Jquery,如果我们点击 <li id="liRightDescriptions" style="display: list-item;"> <span><span>Descriptions</span> <img src="../Images/Checkmark.ico" class="checkImage"></span> </li> 尝试: 不要使用live其折旧 $('bo

如果我们点击

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


不要使用
live
其折旧

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

});

您可能应该使用
.sides()
选择器()

例如:

$('.checkImage').live('click', function (event) {
  var name = $('.checkImage.').siblings('span').html();
}
live()
函数已弃用,并已替换为
on()
,请使用:

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

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

这可能会起作用,除非你的图像中没有结尾,或者更多。 顺便说一句使用.click()比使用.on()慢,.live()会贬值

我让它工作,所以这里有一个固定的小提琴给你:

基本上是一样的,但我删除了你可能并不需要的东西。如果需要,请重新添加它们

$('.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>
  • 描述

  • DOM是一棵树。树中的每个节点都知道它在哪里,它的父节点是什么,它有哪些子节点/同级节点。所以:您在另一个$(this).sibbines().text()@simplyray之后打开了两个
    ,您忽略了看到他关闭了两个跨距
    $('.checkImage').on('click', function (event) {
            var name = $(this).prev().html();
            alert( name )
    })
    
    <li id="liRightDescriptions" style="display: list-item;">
        <span>
            <span>Descriptions</span>
            <img src="../Images/Checkmark.ico" class="checkImage" />
        </span>
    </li>