1

如何使用 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.
4

2 回答 2

1

尝试这个

$crawler->filter('.position')->getNode(0)->setAttribute('ATTR','VALUE');

此代码获取与选择器匹配的第一个节点并更改所选属性的值。

于 2017-12-19T10:50:42.763 回答
0

根据文档

所有过滤器方法都返回一个带有过滤内容的新 Crawler 实例。

因此

$populatedCrawler = $crawler->filter("table.positions")->addHtmlContent("<tr class="position"></td></td></tr>");

echo '<pre>'.$populatedCrawler->filter('.position')->html().'</pre>';

会给你你所期望的。

于 2015-03-06T13:41:40.330 回答