如何为类实现jQuery prepend函数?

时间:2018-05-24 22:15:37

标签: javascript jquery css

我试图让一个函数为我定义的类添加一个名称。

功能是:

(function($) {

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

})(jQuery);

这是从以下链接中获取的:jquery addClass() to first position of multiple classes

我有这样的链接:

<a class="half first3547" href="#">this</a>

我希望它成为:

<a class="paid first3547" href="#">this</a>

我用这个:

$("#mycontent a.half").removeClass("half").addClass("paid");

但这会增加课程。它变成了这个:

<a class="first3547 paid " href="#">this</a>

我不了解如何实现该功能,以便它可以与我的代码一起使用。我尝试将它放在我的脚本上方,但它没有做任何事情。

1 个答案:

答案 0 :(得分:1)

使用$("#mycontent a.half").removeClass('half').prependClass('paid');

&#13;
&#13;
(function($) {

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

})(jQuery);

$("#mycontent a.half").removeClass('half').prependClass('paid');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mycontent">
  <a class="half first3547" href="#">this</a>
</div>
&#13;
&#13;
&#13;