jquery switch语句和范围问题

时间:2009-10-14 19:51:39

标签: jquery

我有这个工作脚本(我知道它不完整):

function rsvpNew(selector,function_url) {
 $(selector).livequery('click',function(){
   var select = $(selector).attr('rel');
   var event_id = $(this).parents('ul.event-options').attr('rel');
   element = this;

   switch(select) {
        case "attending":
        $.ajax({
        type: "POST",
        url: "/events/set_member/"+function_url,
        data: "event_id="+event_id,
        beforeSend:  function() {
        $("<span class='notice'>Saving...</span>").prependTo('body');
                        },
        complete: function() {


                $('span.notice').fadeOut(500);
                $(element).closest('span.rsvp-status').html("I'm Attending &ndash; <a href='javascript:;' class='remove' rel='remove'>Remove</a>");
                }


        });


             break;

现在行

$(element).closest('span.rsvp-status').html("I'm Attending &ndash; <a href='javascript:;' class='remove' rel='remove'>Remove</a>");

正在工作,但是当我做类似的事情来获得这个li的父ul时,它不起作用。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

但是当我做类似的事情时   这个李的父亲ul,它没有   工作。有什么想法吗?

要获得某些内容的parent,您可以使用以下几个选项:

$('li').parent('ul'); //will return your ul
  

获取元素的直接父级。

另一种方法是使用closest

$('li').closest('ul'); //should also return your ul
  

获取一组包含的元素   最接近的父元素匹配   指定的选择器。特别   对事件委派很有用。