0
の周りにhtmlタグを追加します。私は2個の以上のタグ付き段落を持っている:テキストコンテンツ
<p>#tag1 #tag2</p>
は今、私はすべてのタグを検索し、このようにそれらをラップしたい:
<p><span class="someClass">#tag1</span> <span class="someClass">#tag2</span></p>
の周りにhtmlタグを追加します。私は2個の以上のタグ付き段落を持っている:テキストコンテンツ
<p>#tag1 #tag2</p>
は今、私はすべてのタグを検索し、このようにそれらをラップしたい:
<p><span class="someClass">#tag1</span> <span class="someClass">#tag2</span></p>
$('p:contains("#")').each(function() {
var tags = $(this).text().split(' ');
var wrapped_tags = '';
tags.forEach(function(tag) {
wrapped_tags += '<span class="someClass">'+tag+'</span> ';
});
$(this).html(wrapped_tags);
});
.someClass {
color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>#tag1 #tag2</p>
.html()
には、現在の値を渡すコールバックを使用できます
#\w+\b
意味:と正規表現を使用する。これはまた、問題に(ただし明確ではないが非「タグ」をラップする
$("p").html(function(index, html) {
return html.replace(/(\#\w+\b)/g, "<span>$1</span>")
});
span { color: orange }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>#tag1 #tag2</p>
<p>Here's another #tag3</p>
#で始まる任意の単語に一致しますタグが混在していたり、混在している場合) –
@ freedomn-mうん、私はopには多くのpharagrapがあり、その中にはタグしか入っていないと仮定している。 – Sojtin
@ freedomn-mとにかくあなたの答えはより良い – Sojtin