如何使用jquery中的join来使用标记来包围单个文本

时间:2014-08-13 20:21:53

标签: javascript jquery html css

我创建了这个函数,每当用户选中一个复选框时,该值的值被推入一个数组,然后它的值显示在一个名为" selections"的div中。对于每次连续检查,它将作为该显示中的文本加入。

我的问题是,如何围绕<span><div>中显示的每个文字值?我当前的例子是为第一个条目值而不是其他条件。

所以现在运行时看起来像这样:

<span>cbExample1</span>"cbExample2cbEample3"

第一个例子很好,但我想要围绕&#34; cbExample2&#34;和&#34; cbExample3&#34;标签。

代码如下:

    var selections = [],
    render_selections = 
      function() {               
        $('.selections').html("<span>"+selections.join('</span>'));
      }

     $('input[type="checkbox"]').change(function() {
       $(this).each(function() {
         var maxAllowed = 3;
         var cnt = $("input[type='checkbox']:checked").length;  
         if (cnt <= maxAllowed) {
           $('.selCount .counter').html(selReset-cnt);
           selections = $.map($('input[type="checkbox"]:checked'), function(a) { return a.value; });
           render_selections();
           console.log(selections); 

         } else if (cnt > maxAllowed) {
           $(this).prop("checked", "");
           $(this).unbind("click");
           $(this).css("cursor","default");

         }
       });
     });

1 个答案:

答案 0 :(得分:0)

假设:

selections = ['a','b','c'];

这一行:

$('.selections').html("<span>"+selections.join('</span>'));

将产生:<span>a</span>b</span>c

如果您将该行更改为:

$('.selections').html("<span>"+selections.join('</span><span>')+"</span>");

您将获得所需内容:<span>a</span><span>b</span><span>c</span>