2011-10-07 95 views
2

我想检索.find_class中最后一个子元素(班级末尾div new3)的班级名称,但我的代码给了我select3班。我该如何解决它?从div取得班级名称

演示:http://jsfiddle.net/gBxan/5/

<div class="find_class mediumCell"> 
    <div class="new1 old1"> 
     <div class="select1"></div> 
    </div> 
    <div class="new2 old2"> 
     <div class="select2"></div> 
    </div> 
    <div class="new3 old3"><!-- I want to get this div's class name 'new3' --> 
     <div class="select3"></div> 
    </div> 
</div> 

var find = $('div.find_class div:last').attr('class'); 
alert(find); 

回答

7

使用子选择器(>):

var find = $('div.find_class > div:last').attr('class'); 

小提琴:http://jsfiddle.net/gBxan/6/
参见:MDN - CSS Selectors

+0

请注意,根据文档http://api.jquery.com/last-selector/,':last'应通过使用'.filter'或'.last'拆分出来。从外观上看,在这个例子中,表现并不是一个大问题,但总体来说应该记住。 –

+0

它是如何为这个html的几个'find_class',请参阅:http://jsfiddle.net/gBxan/8/ –

+0

@AliciaCibrian请参阅http://jsfiddle.net/gBxan/9/。在JQuery中,上下文应该是第二个参数:'$(“div:last”,this)'。在函数外部创建一个临时变量,并在其中存储变量。 –

2
$('.find_class').children(':last').attr('class'); 
+0

它是如何为这个html找到几个'find_class',请看:http://jsfiddle.net/gBxan/8/ –