2011-06-15 30 views
0
<li class="active">Votes - Most 
    <ul id="sortType" title="<%=votesHigh %>"> 
     <li style="cursor:pointer;" value="<%=votesHigh %>">Votes - Most</li> 
     <li style="cursor:pointer;" value="<%=votesLow %>">Votes - Least</li> 
    </ul> 
</li> 

现在,我想设置父文本<li>,当我选择其他人之一。这可行,但也会删除所有的孩子。设置文本摆脱了孩子 - jquery

这里是我的代码:

$('li > ul > li').click(function(){ 
     var val = $(this).attr('value'); 
     $(this).parent().attr('title', val); 
     $(this).parent().parent().text($(this).text()); 
    }); 

回答

3

封装 “投票 - 大多数” 在跨度:

<li class="active"><span>Votes - Most</span> 
    <ul id="sortType" title="<%=votesHigh %>"> 
     <li style="cursor:pointer;" value="<%=votesHigh %>">Votes - Most</li> 
     <li style="cursor:pointer;" value="<%=votesLow %>">Votes - Least</li> 
    </ul> 
</li> 

...和目标跨度。例如:

$(this).parent().closest("li").find("span:first").text($(this).text()); 
+1

我已更正了代码,并添加了修改的HTML示例。 – 2011-06-15 19:55:21

+0

@ T.J。 Crowder:很好的编辑。谢谢。 – 2011-06-15 20:02:07

+0

谢谢你们:)它的工作原理。 – slandau 2011-06-15 20:02:35