2013-10-12 84 views
0

我試圖使用jQuery的has方法在我的菜單中的一個檢查當前<li>是否有任何<ul>。如果是,則顯示它們,否則隱藏li遺漏的類型錯誤:對象#<HTMLLIElement>有沒有方法「具有」

使用has當我得到這個錯誤,但:

Uncaught TypeError: Object # has no method 'has'

我的代碼:

$('nav ul li').click(function() { 
    console.log(this.has('ul')); //Checking 
    if ($(this).children('ul').is(":visible")) { 
     $(this).children('ul').slideUp(250); 
    } else { 
     $(this).children('ul').slideDown(250); 
    } 
}); 
+0

你使用的jQuery版本<1.4? –

+0

'has'是一個jquery方法,但您在DOM元素上調用它。 – elclanrs

+1

應該是console.log($(this).has('ul')); – Jeffpowrs

回答

3

你做$(this)後來的原因是因爲this不是一個jQuery對象。你仍然需要做$(this).has('ul')

請注意,您還可以使用$(this).children('ul').slideToggle(250);簡化切換部分。

相關問題