如何从html标记中提取类名

时间:2016-01-04 08:42:08

标签: html xpath xidel

我正在尝试从<span>标记中提取第二类名称。

由于xidel文档非常糟糕。我无法理解如何 使用函数filter()contains() 并匹配<span>标记 类名“userstatus”并提取第二个类名。

我现在有这个但是当一个参数包含word userstatus时,我无法告诉XIDEL工具匹配span标签和类。

xidel -e http://intranet.website.com '//li[@class='status']/span[@class==match("userstatus").....

感谢您提出任何建议

<li class="status">
  <span class="userstatus offline strongfont2">
    blaa bllaa foo text
  </span>
</li>

<li class="status">
  <span class="userstatus online italicfont1">
    blaa bllaa foo text
  </span>
</li>`

我需要提取<span>标记的类参数 我不需要<span>代码的文字或HTML内容。

结果如下所示:

class =“ userstatus offline strongfont2

class =“ userstatus online italicfont1

2 个答案:

答案 0 :(得分:1)

如果要查找<span>属性值包含class的{​​{1}}元素,然后返回"userstatus",可以使用以下XPath 1.0表达式:

class

由于Xidel似乎支持XPath 2.0,因此您可以使用以下表达式仅从上述//li[@class='status']/span[contains(@class, 'userstatus')]/@class 元素中提取第二个CSS类:

<span>

我之前从未使用过Xidel,但上述XPath似乎在Xidel online tester中测试时有效。您还可以在xpathtester.com

中查看上述XPath的演示

答案 1 :(得分:0)

您可以使用jQuery.hasClass()来确定HTML元素是否具有关联的特定类 - hasClass Example