我想知道如何使用JQuery选择器选择突出显示的文本。
例如,要选择具有类的元素,使用.class
,对于ID,您可以使用#id
。
我如何使用突出显示的文字,以便我可以(例如)隐藏它们:
$("Highlighted text").hide();
什么是突出显示的文字选择器,以及如何隐藏突出显示的文字?
答案 0 :(得分:3)
这是你正在寻找的我相信:
text = window.getSelection().toString();
您必须从DOM获取Element的父级:
function getSelectionParentElement() {
var parentEl = null, sel;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
parentEl = sel.getRangeAt(0).commonAncestorContainer;
if (parentEl.nodeType != 1) {
parentEl = parentEl.parentNode;
}
}
} else if ( (sel = document.selection) && sel.type != "Control") {
parentEl = sel.createRange().parentElement();
}
return parentEl;
}
修复了隐藏我们必须找到startOffset
function getStartOffset() {
var sel = document.selection, range, rect;
var x = 0, y = 0;
if (sel) {
if (sel.type != "Control") {
range = sel.createRange();
range.collapse(true);
}
} else if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0).cloneRange();
if (range.getClientRects) {
range.collapse(true);
}
}
}
return range.startOffset;
}
答案 1 :(得分:0)
if($("idDiv").html().contains('Highlighted text')==true)
{
var a=$("#idDiv").html();
a=a.replace("Highlighted text","<p id='highlightedtext'>Highlighted text</p>");
$("#idDiv").html(a);
$("#highlightedtext").hide();
}
以上代码检查div中突出显示的文本,如果发现它在p标记中设置了带有id的文本并使用该ID,则可以将其隐藏