尝试添加div类,但它不能与我的Javascript一起使用

时间:2013-11-19 18:11:30

标签: javascript html css

我正在尝试使用一些JavaScript来允许用户点击一些div。我已将代码上传到JSFiddle,您可以在此处查看:http://jsfiddle.net/WjRK2/64/

我认为我遇到的问题是尝试切换div的类,以便它们能够与JavaScript一起正常工作:

$('#menu a').click(function (e) {
    $('#content div.level1').removeClass('makeVisible');
    divToMakeVisible = $(this).attr('href');
    $(divToMakeVisible).addClass('makeVisible');
    e.preventDefault();
});

任何帮助都是受欢迎的,因为我觉得我陷入了困境,我无法弄清楚如何摆脱它。

1 个答案:

答案 0 :(得分:0)

所以,感谢最小的/ SSCCE演示。

除了讽刺之外,你的代码存在问题(很多):

您的ul拥有id='menu2',您尝试使用aid="menu")选择元素中的$('#menu a')元素。正如您所料,这不会,并且无法工作。而是使用选择器:

$('#menu2 a')

您的JavaScript正在添加类makeVisible,您的CSS期望类名为makeVisable,再次这不起作用(或者至少在CSS尝试设置样式时无效)您的JavaScript正在添加/删除的类名称;注意拼写:JavaScript区分大小写(非常)拼写敏感。它不会,也不会真的 不应该尝试猜测你想要做什么。

此外,document.getElementById()...的墙是什么?如果你正在使用jQuery 使用 jQuery;是的,DOM更快,但特别是在演示中,让我们很容易帮助您。弄清楚正在做什么(特别是当div11div20 不存在事件时)是令人恼火的,而且是不必要的。所以,在我正在链接的代码演示中(暂时),我用jQuery替换了它:

$('#content div').each(function(i){
    $(this).addClass('level1');
});

无论如何,上面列出了我修正的更正;更新的演示在这里:http://jsfiddle.net/davidThomas/WjRK2/70/

哦,如评论中所述,如果您的演示使用jQuery,请花点时间在您提供的演示中包含jQuery(它是页面左上角select框中的一个选项)