我想删除所有具有特定类的节点。
为了找到这些元素,我使用以下代码:
为了找到这些元素,我使用以下代码:
$xpath = new DOMXPath($dom);
foreach( $xpath->query('//div[contains(attribute::class, "foo")]') as $e ) {
// Delete this node
}
但是如何在这个foreach循环中删除元素?
编辑: 顺便问一下: 在开始循环之前,如何首先检查DOM中是否存在具有"class = foo"的元素?
更新:
这是我的HTML:
<div class="main">
<div class="delete_this" contenteditable="true">Target</div>
<div class="class1"></div>
<div class="content"><p>Anything</p></div>
</div>
这对以上示例无效:
$xpath = new DOMXPath($dom);
foreach( $xpath->query('//div[contains(attribute::class, "delete_this")]') as $e ) {
$e->parentNode->removeChild($e);
}
//div[@class = "delete_this"]
。 - hek2mgl