【发布时间】:2018-01-23 08:08:55
【问题描述】:
我正在尝试比较两个刺痛跨度。
例如,我有输入:
var span1 = "<SPAN style=\"FONT-SIZE: 9pt; FONT-FAMILY: Arial; FONT-WEIGHT: bold\">hello<FONT style=\"FONT-FAMILY: Wingdings; COLOR: #ffff00\">ll</FONT>hi<BR><BR></SPAN>";
var span2 = "<span style=\"font-weight: bold; font-size: 9pt; font-family: Arial;\">hello<font style=\"color: #FFFF00; font-family: Wingdings;\">ll</font>hi<br><br></span>"
这两个跨度将在 UI 中呈现相同的内容。但是我找不到使用 JavaScript 或 JQuery 证明相等的正确方法。
我查看了这个question,但响应对我不起作用,因为:
- 节点的顺序可以改变
- 最后一个属性不需要分号
- 文本可以使用小写或大写
这个问题也有点老了。所以我想可能有一个新的我可以关注?
【问题讨论】:
-
我们是否应该忽略
font现在在 HTML 5 中已经过时并且在 1999 年左右在 HTML 4.0.1 中被弃用的事实? -
您是否要确定它们是否呈现相同?怎么样,
style="font: bold Arial 9pt;"也应该是等价的吗? -
这两个字符串不会在 UI 中呈现相同的内容。
span1在hello和11之间以及11和hi之间有一个空格,而span2没有。 -
@James 这就是我苦苦挣扎的地方:有许多相同的风格组合,我需要捕捉所有这些
-
@MikeMcCaughan 你是完全正确的。但是空间不是一个大问题,因为我可以删除所有空间。可能主要关心的是如何比较所有属性和跨度的孩子。不过我会删除空格。
标签: javascript jquery html