我想知道如何使用jquery在#符号内容之前插入span标记。对不起这个问题。我还是jquery的新手。
<script>
$(document).ready(function() {
var text = $(".name a").text();
//alert(text);
if (text.contains("#")) {
alert("yes");
}
else {
alert("no");
}
});
</script>
<div class="name">
<a href="">This is a link contens #104004</a>
</div>
输出应该是这样的
<div class="name">
<a href="">This is a link contens <span>#104004</span></a>
</div>
答案 0 :(得分:2)
var text=$(".name a").text();
text.replace(/(\#[\w]*)/g,"<span>$1</span>");
我不确定它是否会起作用请查看。
答案 1 :(得分:1)
基于@Shrikanth Buds的回答:
首先将类添加到要处理的所有此类链接。我在这个例子中使用了类'hashcontainers'。然后,尝试以下代码:
<script>
$(document).ready(function() {
$(".hashcontainers").each(function(index){
var text = $(".name a").text();
if (text.contains("#")) {
//alert("yes");
var updatedHTMLString = text.replace(/(\#[\w]*)/g,"<span>$1</span>");
$(this).html( updatedHTMLString );
}
});//each
});
</script>
<div class="name">
<a href="" class="hashcontainers">This is a link contens #104004</a>
</div>
答案 2 :(得分:0)
试试这个样本:
$(document).ready(function() {
var
textElement = $(".name > a"),
text = textElement.text();
textElement.html(text.replace(/#[0-9]+/g, '<span>$&</span>'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="name">
<a href="">This is a link contens #104004</a>
</div>
结果:
更新
Object-Oriented JavaScript - Second Edition :
访问它replace()
允许您将匹配的文本替换为其他字符串。当一个 如果要在匹配中包含匹配的文本,则找到匹配项 替换字符串,您可以使用$&amp;。示例:
var s = 'HelloJavaScriptWorld'; s.replace(/[A-Z]/g, "_$&"); // "_Hello_Java_Script_World"