计算DOM字符串中的单词

时间:2017-04-06 11:20:07

标签: javascript jquery html dom

我有以下HTML字符串:

<div><p>Hello <b>how are</b> you?</div>

我想循环HTML字符串DOM并用span标记和单词number作为id包装每个单词,所以结果将是这样的:

<div><p><span id="word-1">Hello</span> <b><span id="word-2">how</span> <span id="word-3">are</span></b> <span id="word-4">you?</span></div>

我尝试使用JQuery方法$.parseHTML,但没有运气来计算单词,因为DOM节点值可以包含多个单词..

此外,如果在单词内部有内联标记,例如<b> / <i>,那么从DOM的角度来看,每个标记都有不同的节点值,即使它是相同的单词)

知道如何解决这个问题吗?如何计算HTML DOM字符串中的单词?

由于

2 个答案:

答案 0 :(得分:1)

试试这个。

HTML

WebDriverWait wait1=new WebDriverWait(driver, 10000);
wait1.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[2]/div[2]/section/div[2]/div"))).click();

<强>脚本

<div id="content">
  <div><p>Hello <b>how are</b> you?</div>
</div>

Jsfiddle Link

答案 1 :(得分:0)

根据我对你的问题的理解,这应该有用。

var allText = $("body").text().replace(/<[^>]*>/g, "");
var words = allText.split(' ');
for(var i=0;i<words.length;i++)
{
  $(div).append("<span id = 'word-'"+i+">"+words[i]+"</span>")
}