【问题标题】:"$.getScript @href" does not get the href from a button, only from an a tag"$.getScript @href" 不会从按钮中获取 href,只能从 a 标签中获取
【发布时间】:2013-09-14 21:11:04
【问题描述】:

我正在收听带有此代码的button 和一些a 标签:

$("#pagination_partial a, #order_sorting_partial a, #order_sorting_partial .organize-btn").bind("click", function() {
  $.getScript(this.href);
  history.pushState(null, "", this.href);
  return false;
});

代码应该从被点击的元素中获取href,但目前它只从a标签中获取href。当我单击organize-btn 时,代码知道该按钮已被单击,但它没有为@href 分配任何内容。

我做错了什么?这是视图文件 (HAML):

.row
    .span
        .btn-group
            %button.btn{:href => "/orders?view=#{@organize_mode}", :class => "organize-btn"}= t(".#{@organize_mode}")
            %button.btn.dropdown-toggle{"data-toggle" => "dropdown"}
                %span.caret
            %ul.dropdown-menu
                %li
                    %a{:href => "/orders?view=by_last_dispatch"}= t(".by_last_dispatch")
                %li
                    %a{:href => "/orders?view=by_first_dispatch"}= t(".by_first_dispatch")

【问题讨论】:

  • 请发布编译后的代码,这不是咖啡脚本特有的问题。 button 元素也没有 href 属性/属性。
  • 嗯...这不是 JavaScript...
  • 对不起,我没有插入javascript代码而不是coffeescript。

标签: javascript jquery ajax getscript


【解决方案1】:

锚标记的 js 对象形式恰好具有 href 属性,但不要将其与 DOM 标记上的 href 属性混淆。在您的标记中,您正在向按钮添加 href 属性,但这些属性不会像您期望的那样自动添加到 js 对象中。假设您想继续使用名为 href 的属性,我认为这是另一个题外话问题,您将需要从它自己的 DOM 访问该属性。使用 jQuery,您可能希望将 this.href 替换为 $(this).attr("href")

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 2015-12-04
    • 2021-12-26
    • 2014-07-05
    • 2017-06-04
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多