Jquery 添加和删除活动类
我知道这应该是简单的,已经被涵盖了一百万次,但我可以;我似乎没法让它发挥作用 是您的基本脚本使您在列表中单击的最后一个链接成为“活动”链接,并将“活动”类添加到其中 HTML 应该行得通,根本不行Jquery 添加和删除活动类,jquery,Jquery,我知道这应该是简单的,已经被涵盖了一百万次,但我可以;我似乎没法让它发挥作用 是您的基本脚本使您在列表中单击的最后一个链接成为“活动”链接,并将“活动”类添加到其中 HTML 应该行得通,根本不行 编辑此代码没有问题,可以正常工作。文档中它上面有一段代码阻止它工作。请尝试更具体地使用选择器: $(document).ready(function() { $('#projectsList li a').click(function(){ $('.activeProject
编辑此代码没有问题,可以正常工作。文档中它上面有一段代码阻止它工作。请尝试更具体地使用选择器:
$(document).ready(function() {
$('#projectsList li a').click(function(){
$('.activeProject').removeClass('activeProject')
$(this).addClass("activeProject");
});
});
我不知道怎么了。此代码适用于其他人…我看不出有任何问题 看: 它正在工作
错误一定是在其他地方我尝试了一下,效果很好,代码中没有任何错误: 也许您的输出处理器更改了ID#projects列表?可能发生在.NET或某些Java框架中 尝试分配class.projectsList,看看它是否有效 我也可以推荐活动授权的做法:
$('.projectsList').click(function(evt){
if ( evt.target.nodeName == 'A' ) {
var elm = $(evt.target);
if ( elm.hasClass('activeProject') ) { return; }
$('.activeProject').removeClass('activeProject');
$(evt.target).addClass('activeProject');
}
});
(简写)
更新
Sam,如果您还没有尝试过,我建议您使用JavaScript Lint。使用它或在编辑器中(有它的捆绑包和插件)可以让您轻松发现JavaScript代码中的错误和警告。我强烈建议使用变量保存对activeProject的引用。如果您有较大的页面,这将节省大量处理时间,因为搜索DOM可能会很昂贵。它还将使它更不容易出现像您遇到的问题(选择错误的元素)
它很好用。请看这里:您必须有其他可能失败的javascript。您如何测试结果?也许这个bug在你的CSS文件中,所以你没有得到视觉反馈。这是我尝试的第一件事。我觉得更一般一些会对lol有帮助。嗯,代码看起来是正确的。你能发布整个页面和JS文件吗?也许检查一下CSS?似乎没有问题。我以前从未见过鲑鱼的颜色(我也不知道它的存在)!我是从书上知道的。你可以用那个颜色的名字在CSS中声明颜色是的,我错过了一个
代码>在它前面的代码上。花了一个小时看错误的部分:(
$(document).ready(function() {
$('#projectsList li a').click(function(){
$('.activeProject').removeClass('activeProject')
$(this).addClass("activeProject");
});
});
$('.projectsList').click(function(evt){
if ( evt.target.nodeName == 'A' ) {
var elm = $(evt.target);
if ( elm.hasClass('activeProject') ) { return; }
$('.activeProject').removeClass('activeProject');
$(evt.target).addClass('activeProject');
}
});
$(document).ready(function() {
var active = $('#projectsList a.activeProject');
$('#projectsList a').click(function() {
if(active) $(active).removeClass('activeProject');
$(this).addClass("activeProject");
active=this;
});
});