У меня есть следующий списокJQuery RegEx в If-заявление
<li class='lists'>Sonata</li>
<li class='lists'>http://facebook.com</li>
<li class='lists'>Omega</li>
<li class='lists'>Rule of Thumb</li>
<li class='lists'>https://youtube.com</li>
Я хочу, чтобы обернуть только текст, который содержит http://
или https://
со ссылкой URL. Итак, что я делаю в данный момент в JQuery является:
if ($('li.lists:contains(http://)') || ('li.lists:contains(https://)')) {
$('li.lists:contains(http://)').wrapInner(function() {
return "<a href='" + $(this).text() + "'></a>";
});
$('li.lists:contains(https://)').wrapInner(function() {
return "<a href='" + $(this).text() + "'></a>";
});
}
Как вы можете видеть, только для одного символа s
в ссылке, я должен использовать or ||
заявление и вызвать функцию wrapInner()
дважды.
Можно ли добиться этого с использованием регулярных выражений в JQuery с лайнеры как
if ($('li.lists:contains(http/?s/://)')) {
ИЛИ
$('li.lists:contains(http/?s/://)')
что-то вроде этого.
JsFiddle для вышеуказанных кодов.
Вы могли бы сделать '.test()' на текст в 'li'. Например. 'RegEx.test (listItem1.text())'. 'test()' возвращает логическое значение, если переданный аргумент передает регулярное выражение. –