Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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可单击链接到div_Javascript_Jquery_Html - Fatal编程技术网

Javascript 通过jQuery可单击链接到div

Javascript 通过jQuery可单击链接到div,javascript,jquery,html,Javascript,Jquery,Html,我有动态HTML结构。像这样: <div class="message-text">Lorem ipsum http://google.com dolour sit amet<br>&nbsp;</div> Lorem ipsumhttp://google.com 多尔坐 amet 我想点击这个http链接和其他所有链接 如何通过jQuery找到它并使其可单击?如果我理解正确,您可以使用普通超链接: <div class="message

我有动态HTML结构。像这样:

 <div class="message-text">Lorem ipsum http://google.com dolour sit
 amet<br>&nbsp;</div>
Lorem ipsumhttp://google.com 多尔坐
amet
我想点击这个
http
链接和其他所有链接


如何通过jQuery找到它并使其可单击?

如果我理解正确,您可以使用普通超链接:

<div class="message-text">Lorem ipsum<a href="http://google.com">http://google.com</a> dolour sit amet<br>&nbsp;</div>
Lorem ipsum doour sit amet
如果出于任何不在选项中的原因,您可以尝试javascript:

<script type="text/javascript">

var a = document.createElement('a');
var linkText = document.createTextNode("Lorem ipsum http://google.com dolour sit
 amet<br>&nbsp;");
a.appendChild(http://google.com);
a.href = "http://google.com";
document.body.appendChild(a);

var a=document.createElement('a');
var linkText=document.createTextNode(“Lorem ipsumhttp://google.com 多尔坐
amet
”; a、 附肢儿童(http://google.com); a、 href=”http://google.com"; 文件.正文.附件(a);


我希望这对你有帮助

如果您试图动态地将纯文本URL替换为可点击的URL(其HTML表示形式),会有一个非常好的讨论

这不是一个详尽的答案,但它可能会让您开始。你必须把文本转换成url,然后再放回去。这里是如何。这是我的

$(函数(){
var newStr;
var matchStr=$(“div.message-text”).html();
(a-z)+::///)(([a-z]+以下以下::::///)10,([a-z0-9-10-10-10-9\\加加加加加加加加+([a-z]{2}匹配者匹配者匹配者(UUUU-U-ReReguReReReReReReReReReReReReReReReReReRegus)英国政府((([a-a-z]-z)10-0-0-10-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-9-10 10 10 10 10 10 10 10 10 10++++++加加加加加加加加加加加加加加加加加加加加加加加加加加加加加加10 10 10 10 10 10 10 10 10+++++++++++++++++++(\/([a-z0-9+\-\.]*)(\?[a-z0-9+\-\.%=&;]*)?)([a-zA-z0-9!$&'()*+。=-:/)))(\s+$)/gi
$(“div.message-text”)。每个(函数(索引,div){
var newDiv;
var oldDiv;
var-oldTextArray;
var oldDivHtml=$(div.html();
$(div).html(“”;//清除它
var matches=oldDivHtml.match(REGEX\u MATCHER\u URL);
$.each(匹配项、函数(索引、值){
var holder=oldDivHtml.split(值);
$(div).append(持有者[0]);
$(div).append($(“”).attr(“href”,value).html(value));
美元。追加(“”+持有人[1]);
});
});
});
你说的“通过jquery使可点击”是什么意思???您可以向div添加一个id并使用$('#idDiv')。单击(…)以捕获单击事件将链接放入标记中将url包装在
I cannot put标记中,此HTML是动态的!
$(function(){
    var newStr;
   var matchStr=$("div.message-text").html();
   var REGEX_MATCHER_URL = LINK_DETECTION_REGEX = /(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(\s+|$)/gi

   $("div.message-text").each(function(index, div){
     var newDiv;
     var oldDiv;
     var oldTextArray;
     var oldDivHtml = $(div).html();
     $(div).html(""); // clear it

     var matches = oldDivHtml.match(REGEX_MATCHER_URL);
     $.each(matches, function(index, value){
       var holder = oldDivHtml.split(value);
       $(div).append(holder[0]);
       $(div).append($("<a>").attr("href", value).html(value));
       $(div).append(' ' + holder[1]);
     });
   });

});