问题标签 [html-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1049 浏览

perl - 如何使用 Mechanize 在 html 文档中搜索文本?

我在 perl 脚本中使用 WWW::Mechanize、HTML::TreeBuilder 和 HTML::Element 来浏览 html 文档。

我想知道如何搜索包含某个字符串作为文本的元素。

这是一个 html 文档的示例:

我想提取文本square。要获得它,我必须搜索具有以下属性的元素:

  • 标记名称是“div”
  • 班级是“红色”
  • 内容是文本“香蕉”

然后我需要得到它的父级(a <li>-element),并从父级获取文本以 开头的孩子figure =,但这很容易。

我试过这样:

我必须使用什么来代替最后一个命令来获取想要的元素?

我不是在寻找解决方法(我找到了)。我想要的是 WWW::Mechanize、HTML::Tree 或任何其他 cpan-modul 的本机功能。

0 投票
1 回答
263 浏览

perl - 用 Perl 抓取 HTML 文件,只返回内容,按顺序

使用 HTML::TreeBuilder - 或 Mojo::DOM - 我想抓取内容但保持有序,以便我可以将文本值放入数组中(然后用变量替换文本值模板目的)

但这在 TreeBuilder

不返回顺序——当然散列是没有顺序的。那么,如何从根向下访问树并保持返回值的顺序呢?递归地走树?本质上,我想对每个元素都使用“as_text”方法。(遵循这个好主意,但我需要所有元素)

0 投票
1 回答
56 浏览

javascript - 将 UL 添加到 LI(不将 LI 添加到 UL)

我正在尝试在 LI 中添加 UL。我有一个看起来像这样的 HTML 树:

我正在尝试使用 Javascript 添加一个新的 UL,它将成为顶部 LI node0 的子级。

这是我的代码:

当我执行这段代码时,我最终得到:

所以它增加了一个新的:

这是 node0 的孩子

我希望我的 item1 UL 成为 node0 的子节点。你能告诉我如何添加 UL 而不会得到多余的 LI 吗?