#jquery #string #text #replace #href
Вопрос:
У меня есть несколько строк текста с цифрами, которые предназначены для подключения к другим записям в индексе (с использованием хэшей, так как они будут отображаться на странице вместе). Например:
<div class="description"><span>This is some text, which we will reference in entry (330) and also in entry (249).</span></div>
Мне удалось вывести цифры, разделенные запятой, но я не могу заставить их разделиться в связи с добавлением ссылок, и я на самом деле не совсем уверен, как мне следует оборачивать их с помощью href, не заменяя текст вокруг них. Вот где я нахожусь до сих пор, но я уперся в стену.
var val = $("description span").html();
var numbers = val.match(/d /g);
if (numbers != null) {
console.log(numbers);
//here goes the separate and wrap code that eludes me.
}
предполагаемый результат:
<div class="description"><span>This is some text, which we will reference in entry (<a href="myindex.html#330">330</a>) and also in entry (<a href="myindex.html#249">249</a>).</span></div>
Спасибо вам за любую помощь.
Комментарии:
1. Вам не хватает
.
в$("description span")
Ответ №1:
Как сказано в комментарии .
, в вашем селекторе отсутствует a, за исключением того, что вы можете попробовать что-то вроде:
$.each(numbers, function(n, t) {
$(".description span").html($(".description span").html().replace(t, "<a href='#" t "'>" t "</a>"))
})
ДЕМОНСТРАЦИЯ
var val = $(".description span").html();
var numbers = val.match(/d /g);
if (numbers != null) {
$.each(numbers, function(n, t) {
$(".description span").html($(".description span").html().replace(t, "<a href='#" t "'>" t "</a>"))
})
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="description"><span>This is some text, which we will reference in entry (330) and also in entry (249).</span></div>
Комментарии:
1. Быстрый, точный ответ. Большое вам спасибо! Если вы не возражаете, я спрошу, просто чтобы я мог понять, как работает ваш код, какова цель функции(n, t), если n не используется.
2. @Niwa
n
представляет индекс и не используется, но мы используем t и которые представляют объект, в данном случае 330 и 249