如何使用 symfony 的 DomCrawler 组件更新选定的 Dom 元素?
$crawler->filter("table.positions")->addHtmlContent("<tr class="position"></td></td></tr>");
$crawler->filter('.position')->html(); // InvalidArgumentException: The current node list is empty.
如何使用 symfony 的 DomCrawler 组件更新选定的 Dom 元素?
$crawler->filter("table.positions")->addHtmlContent("<tr class="position"></td></td></tr>");
$crawler->filter('.position')->html(); // InvalidArgumentException: The current node list is empty.
尝试这个
$crawler->filter('.position')->getNode(0)->setAttribute('ATTR','VALUE');
此代码获取与选择器匹配的第一个节点并更改所选属性的值。
根据文档:
所有过滤器方法都返回一个带有过滤内容的新 Crawler 实例。
因此
$populatedCrawler = $crawler->filter("table.positions")->addHtmlContent("<tr class="position"></td></td></tr>");
echo '<pre>'.$populatedCrawler->filter('.position')->html().'</pre>';
会给你你所期望的。