0

在最近的一个项目中,我使用 jQuery 来检测段落中的换行符,然后将每行的最后一个单词存储在一个变量中。有没有办法用 jQuery 选择变量,这样.hover当我将鼠标悬停在它上面时,我可以使用它来更改该单词的背景颜色?我搜索了一堆并没有找到答案。

这是我的代码:

var breakWord
var p = $('p');

p.each(function () {
    var current = $(this);
    var text = current.text();

    var words = text.split(' ');

    current.text(words[0]);
    var height = current.height();

    for (var i = 1; i < words.length; i++) {
        current.text(current.text() + ' ' + words[i]);

        if (current.height() > height) {
            height = current.height();
            breakWord = words[i - 1];
            return breakWord;
        }
    }
    return current;
});
4

2 回答 2

0

如果我理解这一点,您有一个段落元素列表,并且您将每个段落的最后一个单词存储在一个数组中?并且您希望能够将数组中的每个单词映射回段落中突出显示的单词?

如果是这种情况,您将需要一些代码来管理它。您需要跟踪每个单词来自哪个段落。如果它始终与数组保持一致(即元素 0 是第 1 段,元素 5 是第 6 段),那么您可以通过数组元素的索引将其映射回来。否则,将数组元素附带的段落作为属性存储在数组中可能更安全。所以你可以存储一个 [{pSource, pText}] 对象数组而不是一个简单的文本数组

于 2020-01-09T19:17:49.853 回答
0

您可以在单词周围添加标签,例如<p>甚至<div>带有类,而不仅仅是更改该类的样式

于 2020-01-09T19:16:26.240 回答