Javascript 某些js文件在Drupal中不起作用

Javascript 某些js文件在Drupal中不起作用,javascript,drupal,Javascript,Drupal,我正在尝试先渲染一个div,再渲染另一个div 我已经在本地机器上测试了js,通过创建一个简单的页面来确保它工作正常。代码如下: <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div id="QWERTY">

我正在尝试先渲染一个div,再渲染另一个div

我已经在本地机器上测试了js,通过创建一个简单的页面来确保它工作正常。代码如下:

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
    <div id="QWERTY">
        <div class="content">   
            <div class="field-name-field-image-one">IMAGE</div>
            <div class="body">BODY</div>
        </div>
    </div>       
<script>$('.content .body').insertBefore('.content .field-name-field-image-one'); // check before() examples</script>

</body>
</html>
My.info文件链接到js,它正在加载。其他需要javascript的元素也在工作。我甚至尝试将脚本添加到html.tpl文件中,但也没有成功


与我制作的简单版本相比,我试图影响的div嵌套在html标记的深处,并应用了几个类。这可能是原因吗?我说得不够具体吗

多亏了一些帮助,我已经将其更新为以下内容,并且它可以正常工作:

(function ($, Drupal, window, document, undefined) {
  $(function() {
    $('.content .body').insertBefore('.content .field-name-field-image-one'); // check before() examples
  });

})(jQuery, Drupal, this, this.document);

您不需要使用Javascript来更改内容类型中字段的顺序

如果您使用的是Drupal 7,请转到主页»管理»结构(/admin/Structure/types),然后单击要更改的内容类型旁边的“管理显示”。现在,您可以拖放字段以更改每个视图模式(例如,默认、摘要)的显示顺序

如果您真的想使用Javascript来实现这一点,Drupal7将使用一种特殊的语法

(function ($) {
  Drupal.behaviors.custom_moveimage = {
    attach: function (context, settings) {
      $('.content .body').insertBefore('.content .field-name-field-image-one');
    }
  };
}(jQuery));
Drupal文档对此进行了详细介绍

(function ($) {
  Drupal.behaviors.custom_moveimage = {
    attach: function (context, settings) {
      $('.content .body').insertBefore('.content .field-name-field-image-one');
    }
  };
}(jQuery));