jquery Tree Traversal prev()问题

时间:2010-03-25 00:27:46

标签: jquery tree-traversal

我想点击标签并选中上一个复选框。 我已经尝试了下一个代码,但这不起作用。我试了2个小时,但我错过了什么?

JQUERY

jQuery(document).ready(function() {
    $('.namelabel').live('click', function() {
        if ($(this).prev("input:checked").val() != null) {
            $(this).prev("input").removeAttr("checked");
        } else  {
            $(this).prev("input").attr("checked","checked"); 
        }
    });
});

HTML
<input type="checkbox" class="check" name="example" /> <img src="image.png" class="modelinfo" /> <label class="namelabel">John Doe</label>

谁能帮我解决这个问题?非常感谢!

P.S。我知道我可以使用<label for="">标签轻松解决这个问题,但这不是问题。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

$('.profilename').live('click', function() {
  var cb = $(this).prevAll(":checkbox:first");
  cb.attr("checked", !cb.is(":checked")); 
});

另外,只是注意到你的课程不匹配,在你的html中它是namelabel,但在你的jQuery中它是profilename,它是一个不同的例子还是应该匹配?