2012-06-27 189 views
0

在輸入時,我們有HTML這樣的:解析HTML代碼

<table> 
    <tr> 
     <td> 
      <img ...> 
     </td> 
     <td> 
      <img ...> 
     </td> 
     ... 
    </tr> 
</table> 

但在去年TD:

<td> 
    <img ...> 
    <img ...> 
<td> 

問題:如何去除第二img?我們可以使用PHP,JS和CSS。

+0

你要刪除的頁面加載後動態的IMG標籤中的一個? – Danny

+0

你已經嘗試了什麼?互聯網上已經有很多關於這個主題的資源了(已經看過DOM解析器)。 – Jeroen

+0

這個HTML來自哪裏? –

回答

2
$dom = new DOMDocument(); 
$dom->loadHTML($yourhtmlstring); 
$x = new DOMXPath($dom); 
foreach($x->query('//td/img[2]') as $node) $node->parentNode->removeChild($node); 
echo $dom->saveHTML(); 
0

使用jQuery的刪除功能

$("table tr:last-child > img:nth-child(2)").remove(); //i think this might work... 

JQuery remove

編輯

上述變更爲刪除第二圖像不是最後

+0

爲什麼投下了投票? – Danny

+0

請提供一些引用的鏈接。如果鏈接中斷,您的回答就會被刪除。 PS。我不低估你。 – rcdmk

+0

@rcdmk:鏈接是jQuery文檔。如果發生這種情況,會出現更大的問題。 –

0

如果你的HTML是從未來HTML頁面或者是PHP生成:
使用jQuery A液:

$(document).ready(function(){ 
    $.each($("#your_table_id td "),function(){ 

     if($(this).find("img").length > 1) { 
      $(this).find("img:gt(0)").remove(); 
     } 
    }); 
}); 
+0

不完全。 'this'是一個不是jQuery對象的DOM元素。這也不是'.has()'的工作原理。 –

+0

我不確定,謝謝。 – jbrtrnd

+0

沒有ID或類:( – user1486054

-1
<code> 
<table class="table"> 
    <tr> 
     <td> 
      <img> 
     </td> 
     <td> 
      <img> 
     </td> 
     <td> 
      <img > 
      <img > 
     </td> 
    </tr> 
</table> 
<script>$(".table tr:last img:last").hide();</script> 
</code> 
+0

如果最後一個'td'只有一個圖像會怎樣? –