2013-10-27 39 views
0

的事件我的問題主要是jQuery ...

我想要在事件觸發時執行特定的交互操作......但只有「this」特定項目提供了所有項目是相同的。

首先,我不確定爲什麼懸停狀態不會觸發 - 控制檯日誌顯示交互是存在的,但不會觸發div出現。我需要「show-me」div纔會出現在div上消失的span和mouseoff上。

此外,當用戶點擊「選擇」選項只隱藏當前項目輸入他們選擇 - 並非所有選項隱藏。

我無法找到一種方法來選擇有些超出範圍的元素,因爲.find()只會找到後代 - 我希望在其他地方有我的標記,並且能夠選擇元素,而不管它的位置在標記內。

這是給你一個工作示例的JSFIDDLE潛在的「小提琴」用;-)

所有的建議表示歡迎!

這裏是我的jQuery

//Show item on hover for current item hovered 
var item = $('.item'), 
    itemShow = $('.show-me'); 

item.hover(function() { 
    $(this).nextAll('.show-me').show(); 
    console.log("hovered"); 
    }, function() { 
    $(this).nextAll('.show-me').hide(); 
}); 


//Click select to hide options 
$('.item').find('input').on('click', function() { 
    $(this).nextAll('ul').hide(); 
    console.log("select was clicked"); 
}); 

回答

1

你的樹遍歷是不正確使用nextAll這對兄妹爲....後代

$(this).find('.show-me').show(); 

DEMO

參考使用find()API Docs

0

除了查理的回答,您還可以使用.children()

$(this).children('.show-me').show(); 

JSFIDDLE