Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 从文本创建链接_Javascript_Jquery - Fatal编程技术网

Javascript 从文本创建链接

Javascript 从文本创建链接,javascript,jquery,Javascript,Jquery,我有密码 <div class="row1"> <em>My text</em> </div> 我的文字 我如何制作一个链接,如: <div class="row1"> <em><a href="/mylink">My text</a></em> </div> 我知道该问题是一个基本问题,但无法找到相同的简单解决方案。示例: $('.row1 em').wrap('

我有密码

<div class="row1">
<em>My text</em>
</div>

我的文字
我如何制作一个链接,如:

<div class="row1">
<em><a href="/mylink">My text</a></em>
</div>

我知道该问题是一个基本问题,但无法找到相同的简单解决方案。

示例:

$('.row1 em').wrap('<a href="/mylink" />');
$('.row1 em').wrap('');
更新:由于这会将
标记环绕
而不是其内容,因此正确的方法是使用
$('.row1 em').contents().wrap('')如Frederic所述

$('.row1 em').html().wrap('');
$('.row1 em').html().wrap('<a href="/mylink">');
$('.row1 em').html(函数(i,目录){
返回“”;
});

$('.row1 em').contents().wrapAll('');

如果您的目标是超链接文本,并且您可以负担其他解决方案,则以下方法也可以达到同样的效果:

HTML:

JS:

您可以使用:

$(“.row1 em”).contents().wrapAll(“”);
你可以试试这个-

$(".row1 em").contents().wrapAll("<a href='/mylink'></a>")
$(“.row1 em”).contents().wrapAll(“”)

错了
.html()
返回一个字符串!是的,你是对的,这个答案完全错了。我不会把它编辑错的!这将把
放在
的周围。我看不出改变这些标记的显示顺序是如何证明投反对票的。a中的em是完全有效的,可能是因为这不是问题所要求的?是的,它与我在工作中描述的不完全一样,但仍然如此。这个解决方案有效,我非常适合。非常感谢。不不要用JavaScript创建链接,它们在可用性上很糟糕。如果我没有启用JS怎么办?如果我想打开链接到另一个选项卡怎么办?如果我想在单击之前查看链接的位置,该怎么办?同意其他计数,但不同意禁用JS,因为问题本身用javascript/jquery标记,其他各种解决方案也使用jquery。@Eric,对不起,我在发布我的答案时没有看到你的答案:)没问题。你记得发文档链接,这在很多方面都更好。我和答案的副本然后什么…这里的每个人都有权在那里写建议,如果与其他答案匹配,这就是问题所在。。。
 $('.row1 em').contents().wrapAll('<a href="/mylink" />');
<div class="row1">
    <em>My text</em>
</div>
.row1 {
    cursor:pointer;
}
$('.em').click(function() {
    location.href = '/mylink';
});
$(".row1 em").contents().wrapAll("<a href='/mylink'></a>");
$(".row1 em").contents().wrapAll("<a href='/mylink'></a>")