jQuery没有在jsFiddle之外工作

时间:2014-07-28 07:51:12

标签: javascript jquery

我还有另外一个问题,用户完美地回答了问题,他的代码正是我需要的,测试和jsFiddle上的工作。但是现在,只要我在jsFiddle外面复制它,它就不起作用了。我的jQuery很差。

jsFiddle:http://jsfiddle.net/C9kF3/

脚本在下面,也在上面的jsFiddle中:

jQuery("a[data-toggle]").on("click", function (e) {
   e.preventDefault(); // prevent navigating
   var target = $(this).data('toggle');
   $('.people > div').hide();
   $('.people ' + target).fadeIn();
});

我复制粘贴它就像它在那个小提琴里一样,并没有改变一件事。在控制台中没有显示错误,脚本不起作用。我链接到最新的jquery库:code.jquery.com/jquery.min.js。

2 个答案:

答案 0 :(得分:2)

将您的代码放在单独的.js文件中并打包:

$( document ).ready(function() {
   //your code here
});

之后,将此文件链接到 <head> 标记

答案 1 :(得分:1)

首先,您需要有一个围绕jQuery代码的文档就绪包装器。其次,对于您正在尝试完成的事情,这感觉就像许多不必要的代码。试试这个:

http://jsfiddle.net/C9kF3/1/

<强> HTML

<ul id="navigation">
    <li id="people">
        <a href="#">People</a>
    </li>
    <li>
        <a href="#">Business</a>
    </li>
    <li>
        <a href="#">Highlife</a>
    </li>
</ul>

<强> CSS

#people {
    display:none;
}

<强>的jQuery

$(function() {

    $('ul#navigation li a').click(function() {

        var self = $(this).closest('li'),
            navigation = self.closest('ul#navigation');

        $('ul#navigation li').not(self).show();
        self.hide();

        navigation.hide().fadeIn();

    });

});