Javascript 点击段落中的单词后,如何获得单词数?

Javascript 点击段落中的单词后,如何获得单词数?,javascript,jquery,html,Javascript,Jquery,Html,我这里有这个脚本- //单击word,警告位置 $(“.content”)。单击(函数(e){ s=window.getSelection(); var范围=s.getRangeAt(0); var节点=s.anchorNode; 而(range.toString().indexOf(“”)!=0){ range.setStart(节点,(range.startOffset-1)); } range.setStart(节点range.startOffset+1); 做{ range.setEn

我这里有这个脚本-

//单击word,警告位置
$(“.content”)。单击(函数(e){
s=window.getSelection();
var范围=s.getRangeAt(0);
var节点=s.anchorNode;
而(range.toString().indexOf(“”)!=0){
range.setStart(节点,(range.startOffset-1));
}
range.setStart(节点range.startOffset+1);
做{
range.setEnd(节点,range.endOffset+1);
}while(range.toString().indexOf(“”)=-1&&range.toString().trim()!=“”);
var str=range.toString().trim();
警报(str);
});


Lorem ipsum dolor sit amet,sed diam nonumd temporal invidunt ut labour et dolore magna aliquyam erat,vero eos et accusam et justo duo dolores et ea reum。洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum dolor sit amet),无海塔基马塔圣所是洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum dolor sit amet)。斯泰特·克莱塔·卡斯德·古伯格伦(Stet clita kasd gubergren),没有海洋保护区是属于同一领域的。没有大海,塔基马塔圣所是一个美丽的地方。没有大海,塔基马塔圣所是一个美丽的地方。sed diam voluptua.

检查
范围的
开始设置
,然后
切片
元素的
文本内容
,以获取选择之前的所有文本。从那里,您可以检查其中出现的
\w+
(单词字符子字符串)的数量,即字数:

//单击word,警告位置
$(“.content”)。单击(函数(e){
s=window.getSelection();
var范围=s.getRangeAt(0);
var节点=s.anchorNode;
while(range.toString().indexOf(“”)!=0){
range.setStart(节点,(range.startOffset-1));
}
range.setStart(节点range.startOffset+1);
做{
range.setEnd(节点,range.endOffset+1);
}while(range.toString().indexOf(“”)=-1&&range.toString().trim()!=“”);
常数{startOffset}=范围;
const wordsBeforeStart=this.textContent
.slice(0,startOffset)
.match(/\w+/g)
.长度;
var str=range.toString().trim();
log(str+'是'+(wordsBeforRestart+1)+'启动后的第个单词');
});

Lorem ipsum dolor sit amet,sed diam nonumd temporal invidunt ut labour et dolore magna aliquyam erat,vero eos et accusam et justo duo dolores et ea reum。洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum dolor sit amet),无海塔基马塔圣所是洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum dolor sit amet)。斯特特


克利塔·卡斯德·古伯格伦(clita kasd gubergren)说,没有海洋,没有海洋,没有海洋。没有大海,塔基马塔圣所是一个美丽的地方。没有大海,塔基马塔圣所是一个美丽的地方。sed diam voluptua.

当它捕捉单词的位置时,它从段落的开头开始。如果我在一个内容区域中有多个段落,它仍然会考虑从段落元素开始的计数,而不是整个内容区域的开始。如果要检查前面段落的字数,可以检查容器中当前段落的索引,
切片
容器的子容器以获取所有先前的子容器,然后使用与答案中相同的技术将
减少为先前的字数。