Rails link_to image_tag - 使用jQuery获取点击后的href值

时间:2011-03-02 23:20:19

标签: jquery ruby-on-rails

Rails 2.3.5

对于link_to image_tag',我一直试图找出如何使用jQuery获取href。我认为它与Rails无关,而且我使用jquery做错了。我找到的链接的所有示例都表明,在点击时抓取链接时应该有一个href属性。假如我将id放在image_tag块内或反之(或者两个块中都是:id)。比如,这些都不起作用(警报返回'undefined'):

  <%= link_to image_tag("apple.png", :size => "60x50", :alt => "New Apple",
        :id => 'new_apple', :class => 'item_images'),
        :controller => :items, :action => :new,  :item_type =>  'apple' %>

$('#new_apple' ).click(function(){
    alert($(this).attr("href"));
   ...

}   

  <%= link_to image_tag("apple.png", :size => "60x50", :alt => "New Apple",
        :id => 'new_apple', :class => 'item_images'), :id => 'my_new_apple'
        :controller => :items, :action => :new,  :item_type =>  'apple' %>



    $('#my_new_apple).click(function(){
        alert($(this).attr("href"));

       ...

}

基本上我试图抓住href以在AJAX请求中使用(有点像你可以抓取按钮提交动作并使用它的URL和TYPE来请求。我还没有找到结构的例子至于基于链接点击的ajax请求(仍在寻找)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

第二段摘录应该有效,但是您错过了结束语并且您的link_to错了:

<%= link_to(image_tag("apple.png", :size => "60x50", :alt => "New Apple", :id => 'new_apple', :class => 'item_images'),
    { :controller => :items, :action => :new, :item_type => 'apple' },
    :id => 'my_new_apple') %>

$("#my_new_apple").click(function() {
  alert($(this).attr("href"));
}

您也可以尝试使用第一个link_to

$("#new_apple").click(function() {
  alert($(this).parent().attr("href"));
}