我有動態的HTML結構。像這樣:通過jQuery進入div的可點擊鏈接
<div class="message-text">Lorem ipsum http://google.com dolour sit
amet<br> </div>
我想要點擊這個http
鏈接和其他所有鏈接。
我如何找到它,並通過jQuery進行點擊?
我有動態的HTML結構。像這樣:通過jQuery進入div的可點擊鏈接
<div class="message-text">Lorem ipsum http://google.com dolour sit
amet<br> </div>
我想要點擊這個http
鏈接和其他所有鏈接。
我如何找到它,並通過jQuery進行點擊?
如果我理解你的權利,你可以使用正常的超鏈接:
<div class="message-text">Lorem ipsum<a href="http://google.com">http://google.com</a> dolour sit amet<br> </div>
無論什麼原因,是不是在選擇,你可以嘗試的javascript:
<script type="text/javascript">
var a = document.createElement('a');
var linkText = document.createTextNode("Lorem ipsum http://google.com dolour sit
amet<br> ");
a.appendChild(http://google.com);
a.href = "http://google.com";
document.body.appendChild(a);
我希望這可以幫助你!
如果你試圖動態替換純文本的URL網址,可點擊(其HTML代表)有一個相當不錯的討論here
這不是一個詳盡的答案,但它可以讓你開始。你必須把文本,把它變成一個網址,然後把它放回去。這是如何。這是我的fiddle。
$(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+_\-\.%=&]*)?)?(#[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]);
});
});
});
你的意思是「通過jquery進行點擊」? 您可以添加一個id到div並使用$('#idDiv')。click(...)捕捉click事件 – Alist3r
將鏈接放入標籤 – pj013
將url包裝在''標籤中,然後處理點擊使用事件代理上的div看到[文檔](http://api.jquery.com/on/#on-events-selector-data) – Stphane