我遇到了问题: 我想在html文档中搜索一个字符串。到目前为止,我尝试使用window.find(..)方法,但我无法找回找到的元素的节点。例如,我可以突出显示所有匹配的文本。 但我想将所有节点放在一个数组中,我找不到一个方法,它可以返回所选文本的节点。 以下代码仅突出显示匹配的文本,我想获取它的(父)节点。
function doSearchAdam(text) {
if (window.find && window.getSelection) {
document.designMode = "on";
var sel = window.getSelection();
sel.collapse(document.body, 0);
while (window.find(text)) {
document.execCommand("HiliteColor", false, "yellow");
sel.collapseToEnd();
}
document.designMode = "off";
} else if (document.body.createTextRange) {
var textRange = document.body.createTextRange();
while (textRange.findText(text)) {
textRange.execCommand("BackColor", false, "yellow");
textRange.collapse(false);
}
}
}
谢谢你们! 亚当
答案 0 :(得分:1)
将上述评论中的代码放入代码代码中以提高可读性。
$(document).ready(function() {
$("#findButton").click(function() {
myFunction();
});
});
function myFunction() {
var matchedPages = new Array();
$(".Page").filter(function() {
if ($(this).text().indexOf($("#findText").val()) >= 0) {
//$("#findText").value() console.log($(this));
matchedPages.push($(this));
}
});
console.log(matchedPages);
console.log(matchedPages[1].attr("id"));
}