Javascript jquery通过所有Div标记将文本更改为超链接
我要说Javascript jquery通过所有Div标记将文本更改为超链接,javascript,jquery,html,hyperlink,Javascript,Jquery,Html,Hyperlink,我要说 <div class="wrapper" id="checkLink"> <div name="something"> <div name="something"> <bean:write name="" property=""/> </div> </div> <div name="something"> <div
<div class="wrapper" id="checkLink">
<div name="something">
<div name="something">
<bean:write name="" property=""/>
</div>
</div>
<div name="something">
<div name="something">
<div name="something">
<bean:write name="" property=""/>
</div>
</div>
</div>
</div>
如果“checkLink”div中的任何文本以http/https/www开头,我想将其更改为超链接
数据来自后端,由最终用户输入。。。有90多个字段(其中任何人都可以是超链接)
只有匹配的值应显示为超链接
如何将它们转换为超链接
var divs=$('#checkLink div');
$.each(div,function)(索引,div){
var target=$(div.attr('name');
$('body')。追加('br/>');
});
您也可以使用
$(div).replaceWith()
,但是使用嵌套的div,您只能得到两个定位点示例中没有文本,只有div。我怀疑jQuery本身不具备此功能。听起来您需要对DOM中每个已识别的“节点”解析其中的所有文本,以找到匹配的字符串,并根据这些字符串进行拆分。然后用a
元素替换匹配的字符串,并从拆分的字符串和新的a
元素重新构造节点的整体内容。(如果已经有一个jQuery插件可以完全或非常类似地完成这项工作,我也不会感到惊讶。)@Heru Luin更新了示例:)您的代码中仍然没有文本。你能给出一个它最后应该是什么样子的例子吗?假设这是我页面中的文本:WTC事件Bean RNAME:text WTC事件详细信息RNAME:www.google.com WTC PI Bean RNAME:test1 DUCS(CSI):test UQ(LB):www.hhh.com UQ(LB)和WTC事件详细信息RNAME的文本应以超链接的形式出现在页面上
var divs = $('#checkLink div');
$.each(divs, function(index, div){
var target = $(div).attr('name');
$('body').append('<a href="http://www'+target+'">'+target+'</a><br/>');
});