jquery - 删除具有双破折号的类

时间:2017-06-27 03:55:42

标签: jquery html

我正在使用yii2中的select2小部件。我想删除特定的类,因为select2提供的示例是它需要一个模型来运行,我不知道如何处理这种方式。还因为我没有足够的时间来应用select2小部件在yii2中实现的方式。

因为我是yii2的新手而且我正在创建一个下拉搜索的方式,我真的想要选择2的工作方式。

HTML:

<span class="select2 select2-container select2-container--krajee select2-container--below select2-container--focus" dir="ltr"></span>

Jquery的:

$('span .select2').removeClass('select2-container--focus');

如何从span中删除此类select2-container--focus? 或者是否有任何其他方法可以使用jquery删除该类。

2 个答案:

答案 0 :(得分:2)

这正是您使用jQuery删除类的方法。但是,that class is being re-applied by Select2,所以每当你专注于它或与之相关的东西时,它都会重新应用这个类。

有很多方法可以使用javascript强制删除类,但是它们都不会完美地工作,并且可能会引入奇怪的行为或视觉伪像,如闪烁。代码解决方案的最可能的候选者是挂钩Select2.focus事件,并希望您的事件处理程序在他们的事件之后触发。

假设您只是想阻止该类为元素设置样式,您可以使用自己的样式覆盖该类,或override the theme

答案 1 :(得分:2)

span .select2

中有额外的空格

使用

$('span.select2').removeClass('select2-container--focus');

&#13;
&#13;
$('#remove').click(function() {
   $('span.select2').removeClass('select2-container--focus');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="select2 select2-container select2-container--krajee select2-container--below select2-container--focus" dir="ltr">
  Some thing in span
</span>
<button id="remove">removeClass</button>
&#13;
&#13;
&#13;