【问题标题】:jQuery .attr code to work in Drupal在 Drupal 中工作的 jQuery .attr 代码
【发布时间】:2013-04-28 03:42:09
【问题描述】:

查看我的 jsFiddle:http://jsfiddle.net/KevinOrin/zuFae/

代码在那里成功运行,但在我正在为其编写代码的 Drupal 站点上无法运行:http://gossiptalk.info/users/gossiptalk

我直接从 Drupal DOM 输出中复制了 html,无论我将 js 放在哪里,它都不起作用。是的,它正在加载 jQuery 库。有什么想法吗?

$(document).on("click", function () {
var _href = $("#map-addr").attr("href");
var _addr = $("#map-addr div.field-item").text();
$("#map-addr").attr("href", _href + _addr);

});

【问题讨论】:

    标签: javascript jquery html drupal


    【解决方案1】:

    我相信drupal 使用 jQuery.noConflict 因此$ 将不再引用jQuery 对象。只需使用jQuery 而不是$

    jQuery(document).on("click", function () {
        var _href = jQuery("#map-addr").attr("href");
        var _addr = jQuery("#map-addr div.field-item").text();
        jQuery("#map-addr").attr("href", _href + _addr);
    });
    

    【讨论】:

    • 谢谢,试过了,还是不行。如果您检查地址元素,您将在其正下方看到脚本。展示位置可能有问题吗?
    • @KevinOrin 你必须替换所有的,而不仅仅是第一个。
    • 知道了,谢谢。事件循环并重复链接,但我可以修复它。
    【解决方案2】:

    您也可以在代码中只使用“jQuery”变量而不是 $ 变量。

    见:http://drupal.org/node/171213

    http://drupal.org/update/modules/6/7#javascript_compatibility

    var jq = jQuery.noConflict();
    jq(document).on("click", function () {
      var _href = jq("#map-addr").attr("href");
      var _addr = jq("#map-addr div.field-item").text();
      jq("#map-addr").attr("href", _href + _addr);
    });
    

    【讨论】:

      【解决方案3】:

      你应该能够使用它并且仍然像你习惯的那样在其中编写 jQuery,因为它使 $ 成为自身的本地变量并输出到 jQuery。它通常与 document.ready 一样工作

      (function($){
          $(document).on("click", function () {
              var _href = $("#map-addr").attr("href");
              var _addr = $("#map-addr div.field-item").text();
              $("#map-addr").attr("href", _href + _addr);
          });
      })(jQuery);
      

      【讨论】:

      • 结尾语法有点不对
      • 已更新以反映未进入代码块的行。
      • 你检查过控制台是否有错误吗?另外,您在哪个浏览器中看到问题?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多