Javascript 为什么$(';a.current';).removeClass(';current';);它不起作用了吗?

Javascript 为什么$(';a.current';).removeClass(';current';);它不起作用了吗?,javascript,parent-child,jquery,jquery-tools,Javascript,Parent Child,Jquery,Jquery Tools,为什么$('a.current').removeClass('current')不适用于此jquery选项卡? //中的完整JShttp://jsfiddle.net/laukstein/ytnw9/8/ $(函数(){ 变量列表=$(“#列表”), elementsPerRow=-1, 循环=真, //查找第一个图像y偏移以查找每行的图像数 topOffset=list.find('a:eq(0)').offset().top, numTabs=list.find('li')。长度为1, 电

为什么
$('a.current').removeClass('current')不适用于此jquery选项卡?

//中的完整JShttp://jsfiddle.net/laukstein/ytnw9/8/
$(函数(){
变量列表=$(“#列表”),
elementsPerRow=-1,
循环=真,
//查找第一个图像y偏移以查找每行的图像数
topOffset=list.find('a:eq(0)').offset().top,
numTabs=list.find('li')。长度为1,
电流,新电流;
功能更改选项卡(差异){
//a.jQuery工具选项卡插件的当前设置
$('li.current').removeClass('current');
current=list.find('a.current').parent('li').addClass('current').index();
newCurrent=(循环)?(current+diff+numTabs+1)%(numTabs+1):current+diff;
如果(循环){
如果(newCurrent>numTabs){newCurrent=0;}
如果(newCurrentnumTabs){newCurrent=numTabs;}
if(newCurrent据我所知(我还没有运行代码的工作页面),但“current”类似乎只应用于“li”元素

我认为您的$(“a.current”)将始终包含0个元素。

据我所知(我还没有运行代码的工作页面),但“current”类似乎只应用于“li”元素

我认为您的$(“a.current”)将始终包含0个元素。

您的调用正在工作,确实清除了类,但是您的历史记录插件中的这一行:

links.eq(0).trigger("history", [h]);
正在触发您的it加载第一个链接,如
中的默认链接…再次选择该链接,将类添加回,最终是选项卡插件选择第一个选项卡,在这一行:

tab.addClass(conf.current);
将类添加回锚点(此时锚点是
tab

.

您的呼叫正在工作,确实清除了类,但是您的历史记录插件中的这一行:

links.eq(0).trigger("history", [h]);
正在触发您的it加载第一个链接,如
中的默认链接…再次选择该链接,将类添加回,最终是选项卡插件选择第一个选项卡,在这一行:

tab.addClass(conf.current);
将类添加回锚点(此时锚点是
tab


.

它不起作用,因为您的页面中没有类.current的

您可以自己查看:

警报($('a.current').length);


将返回您0…

它不起作用,因为您的页面中没有类的
。当前

您可以自己查看:

警报($('a.current').length);


将返回0…

虽然很高兴看到发布的源代码,但请将其格式化以使其更具可读性。巨大的代码墙不会吸引愿意花时间对其进行解密以便开始帮助您的人。此外,请尽量减少代码量,这样问题仍然可以重现。并且或者,描述一下代码应该做什么。我认为这与标签有关,但你需要更准确地告诉我们它的作用和你的期望。虽然看到发布的源代码很好,但请你能将其格式化以使其更具可读性。巨大的代码墙不会吸引愿意花时间对其进行解密的人hey可以开始帮助你。同时尽量减少代码量,问题仍然可以重现。重要的是,请描述代码应该做什么。我认为这与选项卡有关,但你需要更准确地告诉我们它的作用和你的期望。更改为
tab.parent('li')).addClass(conf.current);
修复了我需要的
li.current
,但它停止了关键事件的工作。有什么解决方法吗?是否有其他方法来启用
$('a.current')。removeClass('current'));
working?@Binyamin-这是一个时间问题,您需要在第一次历史调用后触发它,这将触发您的选项卡…或禁用历史默认值,方法是删除带有上述链接的else语句。更改为
tab.parent('li').addClass(conf.current);
修复了我需要的
li.current
,但它停止了关键事件的工作。有什么办法修复它吗?是否有其他方法来启用
$('a.current')。removeClass('current'))
工作?@Binyamin-这是一个时间问题,您需要在第一次历史调用后触发它,这将触发您的选项卡…或者通过删除带有上述链接的else语句来禁用历史默认值。那么为什么Firebug和Chrome Inspect元素显示
a
具有class
当前
?为什么Firebug是d Chrome Inspect element显示
a
具有class
current
?那么为什么Firebug和Chrome Inspect element显示
a
具有class
current
?那么为什么Firebug和Chrome Inspect element显示
a
具有class
current