我正在使用以下代码收听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")
答案 0 :(得分:1)
锚标记的js对象形式恰好具有href属性,但不要将其与在DOM标记上具有href属性相同。在您的标记中,您正在为按钮添加href属性,但这些属性不会像您期望的那样自动添加到js对象中。假设您要继续使用名为href的属性,我认为这是另一个非主题问题,您需要从DOM自己访问该属性。使用jQuery,您可能希望将this.href
替换为$(this).attr("href")