[英]jquery wrap a e-mail address
我在文本中有幾個電子郵件地址,它們保存在變量中。 電子郵件地址采用此格式test[-@-]test.com
。
現在我想用span元素<span>test[-@-]test.com</span>
包裝每個電子郵件地址。
我怎樣才能做到這一點?
使用回調函數要好得多:
var wrap = function(text) {
$("#Text").html( function(){
var patt1= new RegExp(text, "g");
return $("#Text").html().replace(patt1, function(match){return "<strong>"+ match +"</strong>"});
});
};
與http://www.javascriptkit.com/jsref/regexp.shtml#replacecallback一樣
如果您的文本位於變量字符串中,則可以使用正則表達式:
str = str.replace(/([a-z]+\[-@-\][a-z]+\.[a-z]+)/g,'<span>$1</span>');
http://jsfiddle.net/mblase75/yjVFj/
但請注意, 將電子郵件地址與正則表達式匹配可能會非常棘手 。
用於創建一個新的span元素,如下所示:
var emailArray = ["test1[-@-]test.com", "test2[-@-]test.com", "test3[-@-]test.com"];
$.each(emailArray, function (index) {
emailArray[index] = $('<span>' + emailArray[index] + '</span>');
});
對於普通的vanilla JavaScript:
function wrap(text, element) {
return document.createElement(element).innerText(text);
}
否則,如果你正在使用jQuery, .wrap('span')
( jQuery API )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.