我的文档有许多 span 标记,如下所示:
<span class='myClass'>aaa</span>
我想把其中的每一项变成如下:
<a href="http://www.example.com/aaa" onclick="myfunc();"><span class='myClass'>aaa</span></a>
有什么方法可以做到这一点吗?可以是普通的JavaScript或jQuery(3.1.1)。
a6b3iqyw1#
使用jQuery,您可以使用.each()迭代所有.myClass元素,然后使用.wrap() Package 它们
.each()
.myClass
.wrap()
$(".myClass").each( function() { $(this).wrap('<a href="http://www.example.com/' + $(this).text() + '" onclick="myfunc();" />'); }); console.log($(".myClass").parent())
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <span class='myClass'>aaa</span> <span class='myClass'>bbb</span> <span class='myClass'>ccc</span> <span class='myClass'>ddd</span>
https://api.jquery.com/wrap/
bt1cpqcv2#
使用此命令:
const els=document.querySelectorAll("span.myClass"); els.forEach((el)=>{ const t=el.textContent; const aEl=document.createElement("a"); aEl.href=`http://example.com/${t}`; aEl.appendChild(el.cloneNode(true)) el.parentElement.insertBefore(aEl,el); el.remove() })
2条答案
按热度按时间a6b3iqyw1#
使用jQuery,您可以使用
.each()
迭代所有.myClass
元素,然后使用.wrap()
Package 它们https://api.jquery.com/wrap/
bt1cpqcv2#
使用此命令: