3 回答
TA贡献1830条经验 获得超9个赞
我使用Boolean速记''来过滤掉split.
const allText = document.body.innerText;
const allWords = allText.split(/\s/).filter(Boolean);
const numWords = allWords.length;
document.querySelector('#demo').innerHTML = numWords;
<h2>My First Web Page</h2>
<p>My First Paragraph.</p>
<p id="demo" />
TA贡献1765条经验 获得超5个赞
您可以用来HTMLElement.innerText
获取网页的文本。然后,您可以使用模式通过空格字符将字符串拆分为数组。那么字符串的长度应该是你的字数。
document.getElementById("demo").innerHTML = document.body.innerText.split(/\s/).length
TA贡献1862条经验 获得超7个赞
如果使用 javascript 需要innerTextthensplit(/\s/).filter(Boolean)
为什么使用过滤器(布尔)? 在 javascript 中,检测有效单词非常重要。
尝试一下,如果你只使用 likeinnerText.split(/\s/).length会得到不同的计数。
这个例子是 JavaScript
document.getElementById("demo").innerHTML = document.getElementById("counted").innerText.split(/\s/).filter(Boolean).length
<!DOCTYPE html>
<html>
<body>
<div id="counted">
<h2>My First Web Page</h2>
<p>My First Paragraph.</p>
</div>
<p id="demo"></p>
</body>
</html>
jQuery 示例,还有
var length = $("#counted").text().trim().replace(/[\s]+/g, " ").split(" ").length;
$('#demo').html(length);
<!DOCTYPE html>
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<body>
<div id="counted">
<h2>My First Web Page</h2>
<p>My First Paragraph.</p>
</div>
<p id="demo"></p>
</body>
</html>
添加回答
举报