2011-12-21 171 views
-2

我需要隱藏一些td內的文本(添加£0.20)。頂部有一個父DIV類。下面是減少HTML:使用jquery刪除或隱藏文本?

<div id="KitFormOptions"> 
<td valign="top" align="left">Text Personalisation, Add £0.20<br><br><textarea value="" name="KitGroupID_98_TextOption_796" rows="5" style="width:100%"></textarea></td> 
</div> 

的CSS路徑是這樣的:

html body div#container div#body-container div#content-area div#content-text div#kitProduct div#KitFormOptions form table tbody tr.LightCell td 

回答

-1

將它包裝在一些像<span>這樣的元素中,給它一個類並隱藏該元素。

例子:

<div id="KitFormOptions"> 
<td valign="top" align="left">Text Personalisation, <span class="price">Add £0.20</span><br><br><textarea value="" name="KitGroupID_98_TextOption_796" rows="5" style="width:100%"></textarea></td> 
</div> 

的jQuery:

$('span.price').hide() 
+0

不能包裝跨度作爲其代碼生成和無法訪問源代碼 – PD24

+0

呵呵,比得到td內容,寫一個正則表達式,它將簡單地用空字符串替換「添加...(無論)」。我沒有別的辦法。然後它與jQuery無關,它是純粹的JS – ZolaKt

+0

所以基本上你是說你只能編輯CSS?我真的不能相信..必須有一些你可以訪問的'服務器代碼',無論是PHP,C#等。我認爲你正在尋找一個解決方案在錯誤的地方。 – Richard

0

爲什麼要隱藏呢?你不能刪除它嗎?否則,您需要在其周圍添加一個<span>或類似的東西,以便您可以參考它。

HTML從哪裏來,爲什麼價格在那裏呢?

+0

它通過代碼創建,所以不能刪除它。 – PD24

+0

@ PD24你應該把它放到一個範圍內並隱藏它! –

+0

您將需要更多,只是CSS來隱藏此..它是如何通過代碼創建的?它來自數據庫嗎?然後從數據庫中刪除它。你使用什麼樣的服務器編碼?您可以編寫一個腳本,查找最後一個逗號,並從中剝離所有內容。 – Richard

0

最好的解決方案可以看起來像:把你的」,加20" 跨越,並設置類= 「隱藏」 的span標籤。

1

您可以執行以下操作,但不是一個好主意。最好是在£0.20附近創建一個span並隱藏它。但是你說你不能這樣做。

$("#KitFormOptions").html($("#KitFormOptions").html().replace("£0.20","")) 
0

一個div元素不應該包含一個孤獨td但嘗試這個片段中,它將替換你的div#KitFormOptions內所有td元素的文本:

$('#KitFormOptions td').text('Text Personalisation'); 
3

可以動態包裝的價格與跨度使用替代正則表達式:

$("#KitFormOptions td").each(function(){ 

    $(this).html( 
    $(this).html().replace(/(Add £\d*\.\d{2})/,"<span class='price'>$1</span>") 
    ) 

}) 

並隱藏它們

$('span.price').hide() 

這包括更換前點更多的十進制數爲零,準確點後兩個數字的任何十進制格式。 因此,它將被替換任何價格將在現場。