在输入时,我们有HTML这样的:解析HTML代码
<table>
<tr>
<td>
<img ...>
</td>
<td>
<img ...>
</td>
...
</tr>
</table>
但在去年TD:
<td>
<img ...>
<img ...>
<td>
问题:如何去除第二img
?我们可以使用PHP,JS和CSS。
在输入时,我们有HTML这样的:解析HTML代码
<table>
<tr>
<td>
<img ...>
</td>
<td>
<img ...>
</td>
...
</tr>
</table>
但在去年TD:
<td>
<img ...>
<img ...>
<td>
问题:如何去除第二img
?我们可以使用PHP,JS和CSS。
$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();
使用jQuery的删除功能
$("table tr:last-child > img:nth-child(2)").remove(); //i think this might work...
编辑
上述变更为删除第二图像不是最后
如果你的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();
}
});
});
不完全。 'this'是一个不是jQuery对象的DOM元素。这也不是'.has()'的工作原理。 –
我不确定,谢谢。 – jbrtrnd
没有ID或类:( – user1486054
<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>
如果最后一个'td'只有一个图像会怎样? –
你要删除的页面加载后动态的IMG标签中的一个? – Danny
你已经尝试了什么?互联网上已经有很多关于这个主题的资源了(已经看过DOM解析器)。 – Jeroen
这个HTML来自哪里? –