2016-08-21 117 views
0

我正在使用Wikipedia API進行項目。在搜索欄中輸入單詞可顯示項目列表。如下圖所示。 Image one 當用戶將鼠標懸停在「更多」div上時,會在下面顯示其他內容。像那樣。 Image two如果段落不包含任何文本,則隱藏div

但是,某些藍色的項目不包含任何信息,即空的。所以我想要那些不包含任何附加信息的項目不顯示「更多」div。所以我寫了一個代碼。但不幸的是它不起作用。

if ($('.list-container>div.titleDesc>p').is(':empty')) { 
     $(".show-more").hide(); 
} 

無法弄清楚什麼是錯誤的,所以將不勝感激任何幫助。如果您需要更多信息,請參閱Codepen中的我的project

+1

你的懸停似乎也有點bug,它只適用於當我正好懸停在'更多'部分的左側。 – Roberrrt

+0

您也可以使用[the:empty pseudoselector](https://developer.mozilla.org/en-US/docs/Web/CSS/:empty) –

+0

很難調試這麼多的代碼。如果有信息顯示,你不能只查看顯示更多按鈕的creaton嗎? –

回答

2

jQuery的:empty()是一個選擇;因此,它適用於jQuery元素。所以,你需要更新這一行:

$(this).text().is(':empty') 

這一行:

$(this).is(':empty') 

這裏是一個Working Demo,我剛剛更新這個JS線,並添加一個容器div元素。

+0

感謝您的幫助!調試器是什麼意思? – NZMAI

+0

這是一個關鍵字來調試你的JS代碼,而不是自己放置一個斷點(藍色箭頭)。檢查此:http://www.w3schools.com/jsref/jsref_debugger.asp –

+0

好吧,現在清楚了!謝謝! – NZMAI

0

您可以使用這樣

$('.list-container>div.titleDesc>p').each(function() { 
if ($(this). text() == "") { 
    $(this). hide() ; 
} 
}) 

您需要打印搜索之後將使用此代碼導致

+0

不幸的是它不起作用。無論如何感謝您的幫助! – NZMAI

相關問題