2011-08-18 88 views
1

所以這裏是我的問題。我的網站上有一些第三方服務,它可以從RSS提要中生成一堆HTML,並在加載頁面時將其粘貼到我的網頁中。但是,當它生成HTML時,會插入一堆完全不必要的中斷標籤。不幸的是,生成此代碼的源文件在第三方的服務器上,而不是我的,所以我無法調整它。在jQuery中用另一個替換一組html html元素 - 用jQuery解析HTML

因此,我試圖在頁面加載之前通過在body標籤中的onLoad =「」屬性中使用一個小jQuery來調整HTML。但是,我不能簡單地使用像$('br')。remove();因爲那裏沒有任何分標籤,而且我現在需要每個分標籤一個。

所以,最後,我需要做的就是拿出一個jQuery的聲明與

<br /> 

我是相當新的jQuery的替代

<br><br clear=all><br> 

,但我似乎無法找到任何可以幫助我做到這一點的東西。有任何想法嗎?

在此先感謝您的幫助!

回答

-1

你最好用正則表達式不要用jQuery來做這件事。最簡單的例子:

string.replace('<br><br clear=all><br>', '<br />') 
+0

可怕用正則表達式解析HTML,使用解析器這個 – JohnJohnGa

1

假設他們是你給的確切格式,你可以這樣做:

var br = $('br[clear="all"]'); 
br.attr('clear', ''); 
br.prev('br').remove(); 
br.next('br').remove(); 
0

你可以選擇屬性上,而不是在onload內,但jQuery的準備(HTTP內://api.jquery.com/ready/)

$('br [clear = all]')。remove(); HTTP:在選擇屬性

詳情//api.jquery.com/attribute-equals-selector/

0

爲什麼donn`t只需更換RSS HTML容器的HTML:

yourContainerElem.innerHTML = yourContainerElem.innerHTML.replace(/<br><br clear=all><br>/gi, '<br />'); 
0

要刪除所有,但一個:

$('br,[clear!="all"]').remove() 

然後刪除 '明確= ALL':

$('br').removeAttribute('clear')