范围/选择获得HTML

时间:2013-11-08 14:13:03

标签: javascript jquery html

我有这个小提琴: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>

2 个答案:

答案 0 :(得分:9)

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

请参阅jsfiddle

答案 1 :(得分:1)

您可以使用Rangy库执行此操作:

rangy.getSelection().toHtml()

Example fiddle