【问题标题】:Concatenation in jQueryjQuery中的连接
【发布时间】:2010-03-11 10:04:48
【问题描述】:
var os = $.client.os; // mac
var browser = $.client.browser; // firefox
var browserversion = $.client.browserversion; // 3
$('#root').addClass( os + browser + browserversion );

.. 结果为<div id="root" class="macfirefox3">。如何在它们之间添加空格?

【问题讨论】:

    标签: javascript jquery browser concatenation


    【解决方案1】:
    $('#root').addClass( os + " " + browser + " " + browserversion );
    

    【讨论】:

    • @Nimbuz:这是一种简洁的方式。
    • @Nimbuz:在你看来,是什么让这个整洁? ... 好的。我是这么想的。 :)
    【解决方案2】:

    相同的另一个变体:

    $('#root').addClass([
        $.client.os,
        $.client.browser,
        $.client.browserversion
    ].join(' '));
    

    【讨论】:

      【解决方案3】:

      考虑到 jQuery 的理念,addClass 方法应该真正接受一个数组或多个字符串作为参数,而不必连接它们。

      这是我的名为 addClasses 的 2 美分插件,基本上是 Marko 所做的一个包装器。

      jQuery.fn.addClasses = function() {
          var classes = [];
          $.each(arguments, function(index, name) {
              classes.push(name);
          });
          this.addClass(classes.join(' '));
      };
      

      允许您发送任意数量的类名作为字符串参数。

      $('div').addClasses('message', 'greeting', 'w00t');
      

      【讨论】:

        【解决方案4】:

        你也需要连接空格,Falcon已经给你举了一个例子

        【讨论】:

          猜你喜欢
          • 2021-04-30
          • 1970-01-01
          • 2013-02-25
          • 1970-01-01
          • 1970-01-01
          • 2023-03-08
          • 1970-01-01
          • 2015-08-25
          • 2011-04-01
          相关资源
          最近更新 更多