在元素之前附加无间隙或重复jquery

时间:2018-05-31 12:54:20

标签: jquery

我有这个问题:

我需要插入" s"当存在于div中时,一个单词" comment"如果没有。

<b></b>必须保持不可触及,因为这是一张图片(背景)。

&#13;
&#13;
$(document).on("click","button",function(){

$(document).find(".comments_box:not(:contains('comments')) b").before("s");



})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class='comments_box'>comment <b></b> </div>
<hr/>
    <div class='comments_box'>comments <b></b> </div>
<hr/>
    <button>Append an "S"</button>
&#13;
&#13;
&#13;

我附加了&#34; s&#34;在单词和&#34; s&#34;之间留下一个白色的间隙,如果点击几次......它会继续附加更多的&#34; s&#34;到div

2 个答案:

答案 0 :(得分:1)

删除&#34;评论&#34;之间的空白区域文字和&#34; b&#34;标签

&#13;
&#13;
$(document).on("click","button",function(){

	$(document).find(".comments_box:not(:contains('comments')) b").before("s");
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='comments_box'>comment<b></b> </div>
<hr/>
    <div class='comments_box'>comments <b></b> </div>
<hr/>
    <button>Append an "S"</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

以下解决方案适合您。只需在将“S”附加到文本之前修剪文本。

   $(document).on("click","button",function(){            
        var $div = $(document).find(".comments_box:not(:contains('comments'))");
        $div.text($div.text().trim()+"s");
 });
     


        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <div class='comments_box'>comment <b></b> </div>
        <hr/>
            <div class='comments_box'>comments <b></b> </div>
        <hr/>
            <button>Append an "S"</button>