2017-05-19 55 views
1

當沒有添加附加功能時,是否可以刪除位於single listings page上的附加功能文本? enter image description here有條件地移除文本

這是從AgentPress編目插件PHP,其生成文本:

$output .= sprintf('<p><b>%s</b><br /> %s</p></div>', __('Additional Features:', 'agentpress-listings'), get_the_term_list($post->ID, 'features', '', ', ', '')); 

這是這是通過不包括一個插件生成的HTML輸出

<b>Additional Features:</b> 

一個過濾器,但我不喜歡修改插件中的默認代碼,因此被迫使用jQuery或可能的CSS。

+1

有你試過類似'$('b:contains(「Additional Features:」)')。remove()'? –

+2

雖然他想有條件地刪除它,但這會刪除元素而不考慮'agentpress-listing'的內容 – Glubus

回答

1

您可以檢查兄弟姐妹的大小,然後動態刪除Additional Features檢查的過程如下:

if(jQuery(".property-details > .clear").find("p > b").siblings().size() > 1){ 
    jQuery(".property-details > .clear b").remove(); 
} 

我提到jQuery(".property-details > .clear").find("p > b").siblings().size() > 1因爲<br/>元素在這兩種情況下呈現。

希望這會有所幫助。 :)

+1

工作,我的壞。非常感謝。我給了你25歲! – Dev

1

根據您的代碼,它看起來像你正在使用wordpress。您可以直接使用下面的PHP代碼,這個..

<?php 
    if(get_the_term_list($post->ID, 'features', '', ', ', '')) { 
     $output .= sprintf('<p><b>%s</b><br /> %s</p></div>', __('Additional Features:', 'agentpress-listings'), get_the_term_list($post->ID, 'features', '', ', ', '')); 
    } 
?> 

正如我們所看到的上市項目進來a標籤,使用jquery您可以檢查它存在與否

if(!$(".property-details > .clear p a").length){ 
    $(".property-details > .clear p").remove(); 
} 
+0

不能,它從沒有過濾器的插件 – Dev

+0

@Dev檢查更新回答 –

+0

也測試了這個jQuery解決方案,它的工作原理。謝謝。 – Dev