gpt4 book ai didi

javascript - 计算选择中的节点数

转载 作者:行者123 更新时间:2023-11-30 05:44:34 27 4
gpt4 key购买 nike

在这里,如果我在浏览器上选择了 3 或 4 行,那么我想要在浏览器上选择的编号,即选择的计数 <span>

我有一个 example.html,其中包含以下代码,

<div id="p">
<p id="p1">
<span>wefwef wefwefsdfc fcsdcs wefwscsdc qwefwcsdc </span>
<span>wefwec acvsdc wecfsdc <br />asdcsdc sdcdc wedwed</span>
<span> wefwec acvsdc wecfsdc asdcsdc sdcdc</span>
<span> wefwec acvsdc wecfsdc<br /> asdcsdc sdcdc</span>
<span>wefwec acvsdc wecfsdc asdcsdc sdcdc</span>
</p>
<p>
<span>wefwef wefwefsdfc fcsdcs wefwscsdc qwefwcsdc </span>
<span>wefwec acvsdc wecfsdc <br />asdcsdc sdcdc wedwed</span>
<span> wefwec acvsdc wecfsdc asdcsdc sdcdc</span>
<span> wefwec acvsdc wecfsdc<br /> asdcsdc sdcdc</span>
</p>
</div>

我有以下问题:

  1. 如何计算选择<span>
  2. 我将如何获得未选择的 <span>

最佳答案

您可以使用类似于以下代码的代码获取所选内容的 HTML:

function getSelectedHTML () {
var result = '';
var range;
if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
result = range.htmlText;
}
else if (window.getSelection) {
var selection = window.getSelection();
if (selection.rangeCount > 0) {
range = selection.getRangeAt(0);
var clonedSelection = range.cloneContents();
var div = document.createElement('div');
div.appendChild(clonedSelection);
result = div.innerHTML;
}
}

return result;
}

之后,就是解析选择的问题了。一种方法是使用 jQuery:

var count = $('span', $(getSelectedHTML())).length;

关于javascript - 计算选择中的节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714957/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com