当前位置: 首页 > 知识库问答 >
问题:

如何区分两个具有相同标记名称和相同文本的超文本标记语言元素

程成天
2023-03-14

我想知道是否有任何方法可以告诉我具有相同标记名称、文本和类(如果有)的元素与具有相同标记名称、文本和相同类(如果有)的其他元素不同。为了澄清,请考虑以下超文本标记语言片段:

<html>
<body>
<div>Here I Am</div><div>First Time</div>
<div>Here I Am</div><div>Again</div>
</body>
</html>

现在在上面的代码中,我如何使用div标签和text将两个元素分开。另请注意,这里的两个元素没有id。

上面的例子非常简单,但实际情况可能更复杂。因此,如果您好心地向我提出一个概括的答案,我将不胜感激。谢谢。


共有3个答案

董哲
2023-03-14

获取所有div元素并选择所需内容。

例子

Document doc = Jsoup.parse("<html>\n" +
        "<body>\n" +
        "<div>Here I Am</div><div>First Time</div>\n" +
        "<div>Here I Am</div><div>Again</div>\n" +
        "</body>\n" +
        "</html>");

Element div = doc.select("div").first();

System.out.println(div.html());

输出

Here I Am

其他元素可通过索引访问。

例子

Element div = doc.select("div").get(3);

输出:

Again
公冶高义
2023-03-14

在DOM和XPath的概念下,这些节点除了其规范顺序之外都是相同的。如果要访问此模式的第n个节点,

//div[text()='Here I Am'][n]

其中 n 是从 0 开始的。

叶举
2023-03-14

提供id,使其在文档中唯一。这可以这样做

<div id="first">Here I Am</div>
<div id="second">Here I Am</div>
 类似资料:
  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加

  • 我想开发一个包含注册和登录按钮的登录HTML页面。在运行时的HTML页面中,我可以选择任何按钮(登录/注册)。点击注册页面时,页面应重定向至注册JSP程序,点击登录页面时,页面应重定向至登录Servlet程序。现在的问题是,我必须在html页面中提到表单的实际方法?如何解决这个问题?

  • 问题内容: 我正在成功尝试XmlUnit,对我的工作非常有帮助。现在,我有一个小问题,我不知道如何解决。我有一个Java类,它具有一个Set,并且在将其转换为XML时,其中的元素可以具有任何顺序。 当我在XmlUnit中尝试这两个文件时,它可以工作(Diff说它们是相似的): 但是,当标签具有相同的名称(具有不同的属性)时,它将不起作用(它将属性混合在一起,并期望在另一个标签中使用): 有什么解决

  • 我想选择强标签内的文本,但不在其下的div。。。 有没有可能直接与jsoup合作? 我的选择尝试(不工作,选择强标签内的完整内容): HTML:

  • 因此,这又和我的另一个问题链接到同一个网站,这是另一个定位问题,可能很简单。我有一个容器div,我想在里面放两个div,一个占据容器的三分之一,在右边包含图片,一个包含文本,在左边。然而,由于某种原因,当告诉两个内部div向左浮动时,容器似乎消失了,而当使用inspect元素时,它处于一个我无法解释的奇怪位置。 HTML: CSS: Jscript/jQuery文件只是淡入淡出,但对定位没有影响

  • 当你将鼠标悬停在网页的某个区域时,有很多基于JavaScript的库会显示工具提示。有些相当简单,有些允许工具提示显示用CSS样式设计的超文本标记语言内容。 但是有没有一种方法可以在不使用JavaScript的情况下显示样式化的工具提示?如果您只是使用属性,标记不会被处理(例如