如何使用JavaScript/Jquery在链接标记中包装文本?
这是我目前的代码:如何使用JavaScript/Jquery在链接标记中包装文本?,javascript,jquery,html,Javascript,Jquery,Html,这是我目前的代码: <a class="mg_label_7" href="/" shape="">Hello</a> 我想要: <a class="mg_label_7" href="/" shape=""><div id="hello">Hello</div></a> 因此,我可以操纵链接文本的背景,而无需更改其余的链接文本区域。是否仍然可以使用JavaScript/jQuery精确定位这段文本并插入div甚
<a class="mg_label_7" href="/" shape="">Hello</a>
我想要:
<a class="mg_label_7" href="/" shape=""><div id="hello">Hello</div></a>
因此,我可以操纵链接文本的背景,而无需更改其余的链接文本区域。是否仍然可以使用JavaScript/jQuery精确定位这段文本并插入div甚至span
我已经尝试了大约3个小时了,最接近实现它的是使用
var elem=document.getElementsByTagName('a')[0];
var html=elem.innerHTML;
elem.innerHTML=''+html+''
您可以使用
$('.mg_label_7').wrapInner('')
当可能有更多文本时,您是否希望仅包装“Hello”一词?如果不是的话——如果你想把链接中的所有文本都包起来——考虑只给一个额外的类添加一个额外的类:< < /代码>标签和样式类.@ JAMESDONNLY我已经编辑了它来显示我迄今为止所尝试的,使它更具体一些。mg_label_7
,但这是完全不可能的scope@A.Wolff我完全同意。在提供的示例中有很多假设(只有一个.mg\u label\u 7
将永远存在。无论出于何种原因,都需要唯一的ID。可能是javascript?),但这更接近问题中OP的代码。我倾向于尽可能地让它接近原始版本,因为某些原因,它不起作用-它可以与页面上的另一个类似实例一起工作,但不是我想要的那个。mg_label_7有多个元素,我想针对所有元素,这就是它不起作用的原因吗?@Emma这是正确的。同一文档中不能有多个ID相同的元素。您可能需要使用一个类:$('.mg_label_7').wrapInner('')
@JosephMarikle由于某种原因,它仍然没有出现。我认为的另一件事是,因为HTML是由JavaScript生成的,所以我必须确保在生成元素之后执行代码,因为它是SharePoint web部件。你知道有没有办法确保这一点吗?
$('.mg_label_7').wrapInner('<div id="hello"></div>')