首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DomDocument迭代了几个div。拥有父元素的句柄。

DomDocument迭代了几个div。拥有父元素的句柄。
EN

Stack Overflow用户
提问于 2013-09-10 11:15:09
回答 1查看 55关注 0票数 0

好的,我需要迭代几个div,并提取每个div中的<a></a>标记和标记中的内容。

文档中有一个带有ID的div,它是我所需要的最接近div的div,我想要的<a></a>标记的真正div是具有ID的元素中的第6个子div。

代码语言:javascript
运行
复制
$doc = new DOMDocument();
$doc->loadHTML($html);

$container = $doc->getElementById('container');
$containerDivs= $container->getElementsByTagName('div');

// Problem here, item() returns DOMNode which has no getElementsByTagName()
$sideBar = $containerDivs->item(5);

// This is what I want to do but can't because my $sideBar is a DOMNode not a
// DOMElement so it does not have a getElementsByTagName() method
$categories = $sideBar->getElementsByTagName('a');

我如何使我的$sideBar成为一个DOMElement,以便我有我需要的功能?

如能提供任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-10 11:19:42

您可以使用DOMXPath作为另一种选择:

代码语言:javascript
运行
复制
$selector = new DOMXPath($doc);
$categories = $selector->query('//*[@id="container"]/div[5]/a');

了解更多关于XPathDOMXPath的信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18717461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档