мне нужно сделать эквивалент .find() но для строки "click here" вместо узла мне нужно обернуть его в — тег.
какой лучший подход с jquery?
2 ответов
использовать :contains фильтр селектор:
чтобы обернуть его в ссылке:
чтобы обернуть весь текст в ссылку:
Подробнее:
Не используйте взлом строк HTML. Представьте, что произойдет, если вы попытаетесь заменить over . С тег. массово сломанная разметка. И это только начало проблем.
вместо этого выполните итерацию по текстовым узлам в части документа, которую вы хотите изучить, ища текстовые соответствия и вставляя новую ссылку с помощью методов DOM-стиля.
jQuery не очень помогает вам здесь, так как у него нет функциональности для обработки текстовых узлов. Вместо, используйте что-то вроде С этот вопрос и использовать splitText чтобы разделить текстовый узел:
Материал из JQuery
Примеры
Допустим страница содержит следующий текст:
для того, что бы "обернуть" по отдельности списки div-элементами можно использовать следующий код:
в итоге страница станет такой:
а воспользовавшись функцией wrapAll мы "обернем" списки одним общим div-элементом:
в итоге получим:
Если окажется, что обвертываемые с помощью функции wrapAll элементы находятся в разных местах или просто разделены какими то другими элементами, то jQuery в начале соберет элементы в одном месте и только потом "обернет" их заданным содержимым. Например:
приведет к следующему:
Рассмотрим пример с использованием пользовательской функции. "Обернем" элемент списка только если этот элемент содержит текст "Быстро":
в итоге, текст первоначальной страницы станет следующим:
Метод помещает выбранные элементы внутрь заданного элемента.
version added: 1.0 .wrap( wrappingElement )
Оборачивает каждый выбранный элемент в элемент-обертку wrappingElement.
version added: 1.4 .wrap( function(index) )
Выбранные элементы обертываются содержимым, которое будет возвращено в виде html функцией function. Функция вызывается для каждого элемента в наборе.
Примеры. Первый параграф при клике будет обернут div.wrap1, второй — результатом работы функции, для примера эта функция просто возвращает div.wrap2:
HTML:
JS:
Связанные уроки:
20 полезных методов jQuery, которые следует использовать в работе
Итак, Вы попробовали использовать jQuery, и он Вам понравился! Пора перейти на следующую ступень на лестнице мастерства. В данном уроке будут продемонстрированы 20 функций и способов jQuery, о которых Вы может быть раньше не слышали.
15 особенностей jQuery 1.4
jQuery постоянно развивается. Релиз версии 1.4 состоялся в январе. jQuery 1.4 получила много новых функций, расширений и имеет значительно лучшую производительность. Данная статья посвящена описанию основных улучшений jQuery 1.4.