Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript/Jquery在链接标记中包装文本?_Javascript_Jquery_Html - Fatal编程技术网

如何使用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>')