如何使用 JavaScript/Jquery 在 link 标签内包装文本?

How do I wrap text within a link tag using JavaScript/Jquery?

这是我当前的代码:

<a class="mg_label_7" href="/" shape="">Hello</a>

我想要:

<a class="mg_label_7" href="/" shape=""><div id="hello">Hello</div></a>

因此我可以在不更改 link 区域文本的其余部分的情况下操纵 link 文本的背景。无论如何要查明这段文字并插入一个 div 甚至使用 JavaScript/jQuery 的跨度?

我已经尝试这样做了大约 3 个小时,我最接近实现它的是使用

 var elem = document.getElementsByTagName('a')[0];

 var html = elem.innerHTML;

 elem.innerHTML = '<div class="red">'+ html + '</div>' 

在我的代码中成功定位了一个 link 并将其更改为跨度,但是如果我尝试 getElementsByTagName 然后 getElementByClassName 并使用 mg_label_7 它将不起作用。代码中有重复的标签,我想针对所有这些标签。

我正在尝试操作 SharePoint Web 部件,所以我不确定它是否会阻止对其进行编辑。

您可以使用.wrapInner()

$('.mg_label_7').wrapInner('<div id="hello"></div>')