在#content文本之前插入span标记

时间:2016-05-17 08:19:43

标签: javascript jquery

我想知道如何使用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>

3 个答案:

答案 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>

结果:

enter image description here

更新

  

Object-Oriented JavaScript - Second Edition replace()允许您将匹配的文本替换为其他字符串。当一个   如果要在匹配中包含匹配的文本,则找到匹配项   替换字符串,您可以使用$&amp;。

访问它      

示例:

var s = 'HelloJavaScriptWorld';

s.replace(/[A-Z]/g, "_$&"); // "_Hello_Java_Script_World"