2014-06-24 109 views
3

我有一個click事件偵聽如下:查找元素對象

$(".clickable").click(function (e) { 

    var results= $(e.currentTarget).closest('div.set').find('.clickable'); 
     // returns 
     //[<label for=​"thumbnail" class=​"clickable">​1 Malaysia​</label>​, 
     //<div class=​"thumbnail clickable">​…​</div>​] 

    var label = $(results).find('label'); // returns [] (empty list) 

} 

我的問題是,我怎麼能選擇從results列表中標籤元素?謝謝 !

+0

什麼是你的HTML? –

+1

另外,很有可能'e.currentTarget'應該是'this'。 –

回答

2

嘗試使用.filter()代替.find()

var label = results.filter('label'); 

.find()將搜索的後裔,但在這裏我們需要過濾掉從收集所需的元素,所以在這裏使用.filter(selector)


,你也可以簡單使用satpal說喜歡,

var results= $(e.currentTarget).closest('div.set').find('label.clickable'); 
+0

謝謝!完美的作品! – pekcheng

+1

@Unicorn,只是好奇爲什麼不'var results = $(e.currentTarget).closest('div.set')。find('label.clickable');'? – Satpal

+0

@Unicorn樂意幫忙..! – Balachandran