当前位置:  开发笔记 > 编程语言 > 正文

获取特定元素引用的文本

如何解决《获取特定元素引用的文本》经验,为你挑选了0个好方法。

有这样的HTML代码段:

Lorem ipsum dolor sit amet. Lorem ipsum again and dolor

我可以选择使用的元素$("mark").我想得到一个代表marked字的字符串列表,左边是5个字符,右边是5个字符,字符串是前缀和后缀[...].

对于这个例子,它将是:

[
   "[...] psum dolor sit [...]",
   "[...] met. Lorem ipsu [...]",
   "[...] and dolor [...]",
]

目前我是这样的:

var $highlightMarks = $("mark");
var results = [];

for (var i = 0; i < $highlightMarks.length; ++i) {
  var $c = $highlightMarks.eq(i);
  var text = $c.parent().text().trim().replace(/\n/g, " ");
  var indexStart = new RegExp($c.html(), "gim").exec(text).index;
  text = "[...] " + text.substring(indexStart - 5, $c.html().length + indexStart + 5) + " [...]";
  results.push(text);
}

alert(JSON.stringify(results))

Lorem ipsum dolor sit amet. Lorem ipsum again and dolor.

但是当同一段中的两个单词相同时(在此示例中为dolor案例),这会失败.

psum dolor sit它应该是,而不是显示在数组的末尾and dolor..

所以,有了对元素的引用,在右侧获取一些文本和在左侧获得一些文本的正确方法是什么?

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有