[英]How can i wrap a word from a p in an a tag
我有一個p tag
,我想在a tag
包裝一個單詞
Lorem ipsum @dolor坐在amet, 對
Lorem ipsum @dolor坐在amet,consectetur
我已經試過了:
objectP = document.getElementsByTagName('p');
$.each(objectP, function(i, val){
arrayWords = val.innerHTML.split(" ")
$.each(arrayWords, function(i, val){
if(val[0] === '@'){
val.wrap("<a></a>")
}
})
})
您可以將正則表達式與捕獲組一起使用,以簡化操作
objectP = document.getElementsByTagName('p');
$.each(objectP, function(i, val){
val.innerHTML = val.innerHTML.replace(/(@.*?)\s/g, "<a href='#'>$1</a>");
})
這里(@.*?)
是捕獲組, $1
將具有整個匹配字符串中的捕獲字符串。
由於您無論如何都使用jQuery,請嘗試此操作
$("p").each(function(){
$(this).replaceWith($(this).html().replace(/(@[^\s]+)/,"<a href='#'>$1</a>"))
})
好的'ol老式循環:
var paragraphs = document.querySelectorAll('p');
[].map.call(paragraphs, function(p) {
var htmlArray = p.innerHTML.split(' ');
htmlArray.map(function(word, i, arr) {
if(word === '@dolor') {
var a = '<a href="#">' + word + '</a>';
arr[i] = a;
}
});
p.innerHTML = htmlArray.join(' ');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.