我编写了一个简单的函数来通过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;。 这可能吗?
答案 0 :(得分:0)
:contains()选择器 描述:选择包含指定文本的所有元素。
$(&#39; div:contains(&#34;这是一个示例文字。&#34;)&#39;)为您提供文字旁边的div。
您可以使用parent()获得下一个div。