$(function(){无法找到变量

时间:2016-11-23 18:24:56

标签: javascript

我正在尝试使用这个小提琴http://jsfiddle.net/C6LPY/2/

$(function () {
    var parent = $("#shuffle");
    var divs = parent.children();
    while (divs.length) {
        parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
    }
});

在我的网站上:

https://github.com/craiglockwood/confheroes/blob/master/index.html但是我找不到变量'错误。

这个想法是每次页面加载时以随机顺序对div进行洗牌。小提琴可以工作但不知何故,而不是我的代码。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

订单很重要

在脚本引用jQuery之后,使用IIFE移动内联javascript - 在head元素中或在body元素的末尾(阅读this post,以获取有关将它们放在body元素的末尾。否则,jQuery代码将无法用于内联脚本。有关包含外部脚本的更多信息,请参阅this guide



<script type='text/javascript'>
  //jQuery should not be loaded yet, so typeof $ should return undefined
  console.log('typeof $ before including jQuery: ',typeof $);
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<!-- at this point, jQuery should be defined, and $ should be usable as a shortcut for it.-->
<script type='text/javascript'>
  //ensure typeof $ is a function, otherwise it is likely the case that jQuery did not load
  console.log('typeof $ after including jQuery: ',typeof $);
  $(function() {
    var parent = $("#shuffle");
    var divs = parent.children();
    while (divs.length) {
      parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
    }
  });
</script>
<div id="shuffle">ShuffleDiv
  <div>child div 1</div>
  <div>child div 2</div>
  <div>child div 3</div>
</div>
&#13;
&#13;
&#13;