Можно ли выбрать переменную, которой назначена строка с jQuery? - PullRequest
0 голосов
/ 09 января 2020

В недавнем проекте я использую 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;
});

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Если я правильно понимаю, у вас есть список элементов абзаца, и вы сохраняете последнее слово из каждого абзаца в массиве? И вы хотите иметь возможность сопоставить каждое слово в массиве с выделенным словом в абзаце?

Если это так, вам понадобится некоторый код для управления им. Вам нужно отследить, из какого абзаца пришло каждое слово. Если он всегда остается в порядке с массивом (ie элемент 0 - это параграф 1, элемент 5 - это параграф 6), вы можете отобразить его обратно через индекс элемента массива. В противном случае, вероятно, безопаснее сохранить абзац элемента массива в качестве свойства в массиве. Таким образом, вы можете хранить массив объектов [{pSource, pText}] вместо простого текстового массива

0 голосов
/ 09 января 2020

Вы можете добавить тег вокруг слова, например <p> или даже <div>, с классом на нем, чем просто изменить стиль этого класса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...