2013-12-23 135 views
1

HTML源刪除字符串

<td> 
<a id="ctl00_link_Link1" href="/Default.aspx?ID=10">Link 1</a> 
</td> 
<td>|</td> 
<td> 
<a id="ctl00_link_Link2" href="/Default.aspx?ID=11">Link 2</a> 
</td> 

我所需要的文件已加載後刪除下面的字符串。

<td>|</td> 
<td> 
<a id="ctl00_link_Link2" href="/Default.aspx?ID=11">Link 2</a> 
</td> 

我該怎麼做?

我可以通過使用下面的隱藏鏈接2,

document.getElementById("ctl00_link_Link2").style.cssText="display:none"; 

但我想刪除「|」以及。因此,試圖利用.replaceWith jQuery中像下面,但沒有工作..

$('<td>|</td><td><a id="ctl00_link_Link2" href="/Default.aspx?ID=11">Link 2</a></td>').replaceWith(''); 

我怎麼能刪除HTML源字符串?

全表:

<table> 
<tbody><tr> 
<td><a class="selected-type" id="ctl00_link_english" href="default.aspx?type=English">English</a></td> 
<td>|</td> 
<td><a id="ctl00_link_spanish" href="default.aspx?type=Spanish">Spanish</a></td> 
<td><div style="width:190px;"></div></td> 
<td><a title="Decrease Text Size" onclick="javascript:ts('bottom-section', -1)" id="a_descrease_font_size" href="#"><img src="small_font.png"></a></td> 
<td><a title="Reset Text Size" onclick="javascript:ts('bottom-section', 0)" id="a_reset_font_size" href="#"><img src="default_font.png"></a></td> 
<td><a title="Increase Text Size" onclick="javascript:ts('bottom-section', 1)" id="a_increase_font_size" href="#"><img src="big_font.png"></a></td> 
<td><div style="width:20px;"></div></td> 
<td><a id="ctl00_link_Link1" href="/Default.aspx?ID=10">Link 1</a> 
</td><td>|</td> 
<td><a id="ctl00_link_Link2" href="/Default.aspx?ID=11">Link 2</a></td> 
<td>&nbsp;&nbsp;&nbsp;</td> 
<td><div onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_btn_search')" id="ctl00_pnl_search"> 
<input type="text" id="ctl00_txt_search" name="ctl00$txt_search"> 
<div style="display:none"><input type="submit" id="ctl00_btn_search" value="" name="ctl00$btn_search"></div> 
</div></td> 
<td> 
<input type="image" style="border-width:0px;" src="find.png" id="ctl00_imgbtn_search" name="ctl00$imgbtn_search"> 
</td> 
<td><a target="_blank" href="rss.aspx"><img src="rss.png"></a></td> 
</tr> 
</tbody></table> 
+2

是否有任何理由,你不能刪除這正在生成HTML嗎? –

+0

試試'$('table tr')。find('td:gt(-2)')。remove()' –

+0

你能提供整個'

'嗎?導致下面的解決方案很可能會破壞表格html代碼 – Reigel

回答

2

試試這個...

$('#ctl00_link_Link2').closest('td').html('&nbsp;').prev().html('&nbsp;') 
2

您只需在元素的HTML使用.replace()

$('.table').html(function(index, html){ 
    return html.replace('<td>|</td><td><a id="ctl00_link_Link2" href="/Default.aspx?ID=11">Link 2</a></td>', ''); 
}); 

編輯

我上面的回答只會以空格完全正確的工作。絕對不可能。

我用這個去代替。

$('table').find('td:gt(0)').remove(); 

這裏是一個演示:http://jsbin.com/IkEvofUt/1/edit?html,js,output

+0

這不應該在document.ready中嗎? – Anuya

+0

這取決於你放置腳本的位置。如果你把它放在''沒有。如果它在''是的。 –

+0

腳本出現在主體之前。我沒有使用過document.ready,但使用了你提供的相同腳本。但我仍然可以看到需要隱藏的部分。 – Anuya

0

如果你只是想更換|

$('.table').html(function(index, html){ 
    return html.replace('|',''); 
}) 
+0

這不會代替'|',因爲'|'在正則表達式中是特殊的。這將試圖取代什麼也沒有。如果你只是想替換'|'你可以引用它,沒有理由在這裏使用正則表達式。 –

+0

你是對的!謝謝 –