gpt4 book ai didi

javascript - 获取包含特定元素的完整单词

转载 作者:数据小太阳 更新时间:2023-10-29 04:43:39 28 4
gpt4 key购买 nike

有了对特定 DOM 元素的引用(例如 <mark> ),我们如何才能获得包含该元素的完整单词?

例如:

H<mark>ell</mark>o Wor<mark>l</mark>d, and He<mark>llo</mark>, <mark>Pluto</mark>!

我希望得到以下输出:

  • 第一个<mark> : Hello
  • 第二个:World
  • 第三:Hello
  • 第四:Pluto

var $marks = $("mark");

var tests = [
"Hello",
"World",
"Hello",
"Pluto",
];

function getFullWord($elm) {
// TODO: How can I do this?
// This is obviously wrong.
return $elm.html();
}

var $marks = $("mark");
tests.forEach(function(c, i) {
var word = getFullWord($marks.eq(i));
if (word !== c) {
alert("Wrong result for index " + i + ". Expected: '" + c + "' but got '" + word + "'");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
H<mark>ell</mark>o Wor<mark>l</mark>d, and He<mark>llo</mark>, <mark>Pluto</mark>!

最佳答案

如果您需要快速紧凑的代码(单行代码),试试这个:

var $marks = $('mark');

$marks.each(function() {
var wholeWord = (this.previousSibling.nodeValue.split(' ').pop() +
this.textContent +
this.nextSibling.nodeValue.split(' ')[0]
).replace(/[^\w\s]/gi, '');
});

JSFiddle (登录控制台和评论)

关于javascript - 获取包含特定元素的完整单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639884/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com