如何使用 JavaScript 查找 HTML 页面中的空格?

问题描述 投票:0回答:4

我想使用 JavaScript 查找 HTML 页面中每个单词之间的空格。

示例:

<p>This is sample text</p>
</div>

在此示例中,“this”和“is”以及后面的每个单词之间有一个空格。

我怎样才能实现这个目标?

javascript html
4个回答
4
投票

您可以使用正则表达式来实现此目的:

document.body.innerHTML.match(/\s/g);

http://regexr.com/39al2


1
投票

好的。现在我已经阅读了这里的评论,这是整个代码,它将突出显示页面上的所有文本

recurseDomChildren(document.documentElement, true);

function recurseDomChildren(start, output)
{
    var nodes;
    if(start.childNodes)
    {
        nodes = start.childNodes;
        loopNodeChildren(nodes, output);
    }
}

function loopNodeChildren(nodes, output)
{
    var node;
    for(var i=0;i<nodes.length;i++)
    {
       node = nodes[i];
       if(output)
       {
            outputNode(node);
       }
       if(node.childNodes)
       {
            recurseDomChildren(node, output);
       }
    }
}

function outputNode(node)
{
    var whitespace = /^\s+$/g;
    if(node.nodeType === 1)
    {
        console.log("element: " + node.tagName);  
    }else if(node.nodeType === 3)
    {
        //clear whitespace text nodes
        node.data = node.data.replace(whitespace, "");
        if(node.data)
        {
        debugger;
        node.parentElement.style.background="yellow";
        console.log("text: " + node.data); 
    }  
}  
}

http://jsfiddle.net/ee5X6/35/


0
投票

我知道这不是正确的答案,但请尝试一下

var str = "this is sample text";

先修剪一下。

str = str.trim();

按空格分割文本(" ")

var array = str.split(" ");

空白将是 array.length -1


0
投票

这很简单,不知道你到底需要做什么,这里有一些代码会去掉所有 HTML 标签并为你提供空格和单词,然后你可以将其拆分,以便获得所有空格和数组中的单词,然后您可以遍历该数组并按照您的意愿进行操作:

var body = document.getElementsByTagName("body")[0];
var words = body.replace(/(<([^>]+)>)/ig,"").split(" ");
© www.soinside.com 2019 - 2024. All rights reserved.