【问题标题】:removeClass then addClass with jqueryuiremoveClass 然后 addClass 与 jqueryui
【发布时间】:2013-11-03 17:36:04
【问题描述】:

我有一些看起来像这样的代码:

$('aside a').removeClass('selected');
itemToSelect.addClass('selected');

目的是从链接列表中删除选定的样式,然后将其应用于当前页面的链接。

我怀疑它适用于 jQuery,但 jQueryUI 似乎覆盖了这些方法,我终生无法弄清楚如何弯曲它们以使其工作。我尝试将 addClass 放入 removeClass 的完整函数中,但它的行为不是我想要的(在不被调用或被多次调用之间摇摆不定)。

有没有一种方法我可以只调用标准的 jQuery 方法(我在其他地方需要 jQueryUI)。

编辑:如果我将 removeClass 的持续时间设置为 0 并将 addClass 放在 setTimeout 中,那么我甚至可以将超时设置为 0 并且行为有效。虽然感觉不是最干净的方法,但行为是可以接受的。

【问题讨论】:

  • 访问jQuery UI site 明确指出“jQuery UI 是一组精心设计的用户界面交互、效果、小部件和主题,它们构建在 jQuery JavaScript 库之上。”所以答案很可能是“不”。
  • 你确定itemToSelect在第一行执行后有效吗?
  • @frnhr 是的,如果我将 addClass 包装在 setTimeout(... , 500) 中,它就可以工作。显然,这有点垃圾。
  • in 似乎在小提琴中工作:jsfiddle.net/hZjw4 还是我错过了什么?

标签: jquery jquery-ui


【解决方案1】:

如何.. 删除 div 中所有元素的所有类,然后将 SELECTED 添加到已被踢出的链接。

$('div#menu a').click(function () {
       $("#div a").removeClass('selected');
       $(this).addClass('selected');
})

【讨论】:

  • 如何解决removeClass()/addClass() 是 jQuery 库的方法而不是 jQuery UI 的问题? (更不用说创建 another 问题的不可避免的 next 问题,因为 .click() 同样是 jQuery 的一部分,而不是 jQuery UI。)
  • 它没有。是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
相关资源
最近更新 更多