0

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();
4

6 回答 6

1

尝试:

$('.checkImage').click( function () {
    var name = $(this).prev().html();
    alert(name)
})
于 2013-03-08T16:32:06.277 回答
0

live()功能已弃用,并已替换为on(), 使用:

$('body').on('click', '.checkImage', function(){
    var text = $(this).prev('span').text();
});
于 2013-03-08T16:34:14.277 回答
0

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

举个例子 :

$('.checkImage').live('click', function (event) {
  var name = $('.checkImage.').siblings('span').html();
}
于 2013-03-08T16:33:43.220 回答
0

尝试这个

$('.checkImage').click(function() {
    var name = $(this).prev().html();
});
于 2013-03-08T16:35:13.597 回答
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>
于 2013-03-08T16:36:34.213 回答
0

不要使用live它的折旧

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

});
于 2013-03-08T16:33:03.770 回答