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');
否则你需要使用addClass
和removeClass
来获得bar foo
结果。
另一方面,我没有得到你的所有问题,但如果你只想将bar foo
类添加到第一个p
元素,只需这样做:
$('p').eq(0).prop('class', 'bar foo');
这是另一种方法。
$('#foo').attr('class', 'new-class ' + $('#foo').attr('class'));