复制html源代码而不是简单的选定文本

时间:2018-05-24 10:09:13

标签: java php ajax xml xpath

我编写了一个简单的函数来通过ajax调用复制我的php文件中的一些选定文本:

$('#selectfield').mouseup(function (e) {
    var text2 = getSelectionText();
    var url2 = $('#urlsave2').val();
    alert(text2);

    $.ajax({
        type: "POST",
        url: '2textselected.php',
        data: {textselected: text2, urlsave: url2},
        success: function (data)
        {
            alert("success!");
            $('#textselectedoutput').html(data);
        }
    });
})

// ------------
        function getSelectionText() {
        var text = "";
        if (window.getSelection) {
            text = window.getSelection().toString();
        } else if (document.selection && document.selection.type != "Control") {
            text = document.selection.createRange().text;
        }
        return text;
    }

效果很好!但我需要的是所选文本的源代码。因此,可能应将两个或三个最近的html标签(以及所选文本中的所有html标签)添加到复制的文本中。是否可以在所选文本周围复制源代码?

所以例如:

用户可以看到:

"This is an example text." 

他选择了"一个例子"和脚本副本:

<div class="1" id="2">This is <span color="red">an</span> example text.</div>

而不是纯文本&#34;一个例子&#34;。 这可能吗?

1 个答案:

答案 0 :(得分:0)

:contains()选择器 描述:选择包含指定文本的所有元素。

$(&#39; div:contains(&#34;这是一个示例文字。&#34;)&#39;)为您提供文字旁边的div。

您可以使用parent()获得下一个div。