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

它能做什么:

$('p').addClass('bar');

输出:

 

我需要的:

 

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

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

 function prependClass(sel, strClass) { var $el = jQuery(sel); /* prepend class */ var classes = $el.attr('class'); classes = strClass +' ' +classes; $el.attr('class', classes); } 
  (function($) { jQuery.fn.extend({ prependClass: function(newClasses) { return this.each(function() { var currentClasses = $(this).prop("class"); $(this).removeClass(currentClasses).addClass(newClasses + " " + currentClasses); }); } }); })(jQuery); 

由于对className字符串的控制有限,因此它不应该以任何方式依赖于您,但您可以这样做:

 $("p").removeClass('foo').addClass('bar foo'); 

你可以尝试这个,现场演示:

http://jsfiddle.net/oscarj24/eZe4b/

 $('p').prop('class', 'bar foo'); 

否则你需要使用addClassremoveClass来获得bar foo结果。


另一方面,我没有得到你的所有问题,但如果你只想将bar foo类添加到第一个p元素,只需这样做:

$('p').eq(0).prop('class', 'bar foo');

这是另一种方法。

 $('#foo').attr('class', 'new-class ' + $('#foo').attr('class'));