“$ .getScript @href”不会从按钮获取href,只能从标签获取

时间:2013-09-14 21:11:05

标签: javascript jquery ajax getscript

我正在使用以下代码收听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")

1 个答案:

答案 0 :(得分:1)

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