gpt4 book ai didi

javascript - 范围/选择获取 HTML

转载 作者:太空狗 更新时间:2023-10-29 13:26:44 24 4
gpt4 key购买 nike

我有这个 fiddle :http://jsfiddle.net/Uddaa/

目前它的作用是,当您单击文本时,它会发出一个警报,其中包含到该点为止的文本。我该怎么做才能得到 html 而不仅仅是文本?

JavaScript:

$(".content").on("click", function () {
getBefore();
});

function getBefore() {
var sel = document.getSelection();
var off = sel.anchorOffset;
var ran = sel.getRangeAt(0);
ran.setStart($(".content").get(0), 0);
alert(ran.toString());
}

HTML:

<div class="content">
<p><b>Click</b> anywhere <u>within <em>the</em> text</u> to to see the code up to that point.</p>
</div>

最佳答案

ran.cloneContents().childNodes[1].innerHTML 为您提供完整的 html。

参见 jsfiddle或代码片段。

document.querySelector(".content").addEventListener("click", getHtmlBeforeThis);

function getHtmlBeforeThis(evt) {
const origin = evt.target.closest(".content");
if (origin) {
const selection = document.getSelection();
const offset = selection.anchorOffset;
const range = selection.getRangeAt(0);
range.setStart(origin, 0);
const upToClickedHtml = range.cloneContents().childNodes[1].innerHTML;
range.setEnd(origin, 0);
console.clear();
console.log(upToClickedHtml);
}
}
<div class="content">
<p><b>Click</b> anywhere <u>within <em>the</em> text</u> to to see the code up to that point.</p>
</div>

关于javascript - 范围/选择获取 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19861085/

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