首页 > 解决方案 > 循环LI时Jquery替换

问题描述

<div class="intro"><h2 class="heading">Info</h2>
    <ul class="cons" style="text-align: left;">
       <li>Song : Oviman</li>
       <li>Drama : Best Friend 3</li>
       <li>Vocal, Tune &amp; Lyrics : Tanveer Evan</li>
       <li>Music Composition : Piran Khan</li>
       <li>Director : Probir Roy Chowdhuy</li>
    </ul>
</div>

尝试在“:”链接之后制作所有内容。就像'Best Friend 3'是一个洞链接。但它为每个单词创建单独的链接。以及如何循环 jQuery?

$('div.intro li').html($('div.intro li').html().replace(/((:|)[^\s]+[\w])/g, '<a href="$1" target="_blank">$1</a>'));

标签: javascripthtmljquery

解决方案


以下是给您的一些提示: $('selector').each()<- 循环 string.split(' : ')<- 通过已知分隔符轻松拆分,然后您可以使用 .join 在执行某些操作后再次将它们组合在一起

经过一番思考(3分钟),应该是这样的:

$("div.intro li").each(
  (idx, el) => {
    const splitted = el.innerText.split(" : ")
    el.innerHTML = [splitted[0], `<a>${splitted[1]}</a>`].join(" : ")
  }
)

推荐阅读