jquery addClass()到多个类的第一个位置

ggz*_*one 9 jquery

它能做什么:

<p class="foo"></p>
$('p').addClass('bar');
Run Code Online (Sandbox Code Playgroud)

输出:

<p class="foo bar"></p>
Run Code Online (Sandbox Code Playgroud)

我需要的:

<p class="bar foo"></p>
Run Code Online (Sandbox Code Playgroud)

那么可以将元素添加到第一个位置吗?

编辑(上下文):现在是最后一个类的分割函数.如果添加了另一个类,它也会附加到第二个拆分数组.

小智 11

 (function($) {

    jQuery.fn.extend({
        prependClass: function(newClasses) {
            return this.each(function() {
                var currentClasses = $(this).prop("class");
                $(this).removeClass(currentClasses).addClass(newClasses + " " + currentClasses);
            });
        }
    });

})(jQuery);
Run Code Online (Sandbox Code Playgroud)


alg*_*thm 6

function prependClass(sel, strClass) {
    var $el = jQuery(sel);

    /* prepend class */
    var classes = $el.attr('class');
    classes = strClass +' ' +classes;
    $el.attr('class', classes);
}
Run Code Online (Sandbox Code Playgroud)


Joh*_* K. 5

这是另一种方法。

$('#foo').attr('class', 'new-class ' + $('#foo').attr('class'));
Run Code Online (Sandbox Code Playgroud)