2012-03-24 30 views
1

我試圖彈出一個框,當一個div或任何其第一級別的孩子被點擊,排除在子div中的一個A標籤。jquery切換點擊排除子節點鏈接

我只是簡單地切換類來顯示/隱藏非常好的div。但是,當鏈接被點擊時,該框仍然彈出,我不想要的。我已經看過使用target和stoppropagation,但我無法讓它與我的代碼一起工作。

的jQuery:

jQuery(document).ready(function() { 
    jQuery(".video_odd").toggle(function() 
    { 
    jQuery(this).children(".video_desc_box").attr('class', 'video_desc_box_open'); 
    }, 
    function(){ 
    jQuery(this).children(".video_desc_box_open").attr('class', 'video_desc_box'); 
    }); 
}); 

快速的HTML概述:video_odd是被點擊時,將造成其子格video_desc_box切換及一流的video_desc_box_open從而改變顯示器直插式的而不是類沒有。

我只是不明白如何使用切換,以獲得此腳本不會運行時單擊一個鏈接,這是一個div video_odd。

我想讓它在單擊其他孩子的時候改變類,而不是第二級孩子的鏈接。

感謝您的幫助!

編輯:我覺得我越來越近:

jQuery(".video_odd").toggle(function(e) 
{ 
if (e.target == jQuery(this).children(".video_list_title")) { return; } 
jQuery(this).children(".video_desc_box").attr('class', 'video_desc_box_open'); 
}, 
function(){ 
jQuery(this).children(".video_desc_box_open").attr('class', 'video_desc_box'); 
}); 

然而

(e.target == jQuery(this).children(".video_list_title")) 

是不是註冊。我怎麼能排除div video_list_title在一起(不只是鏈接?)

+0

你的HTML看起來像什麼? – 2012-03-24 20:33:09

回答

0

e.target不是一個jQuery。

$(e.target).hasClass( 「video_list_title」)

是拉近了許多!

+0

太棒了,謝謝你的幫助。 – joshmmo 2012-03-24 22:24:45

+0

我很高興你在jQuery論壇上提問。我不經常在這裏檢查。我需要點這裏! – 2012-03-24 22:39:27