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

Posted

技术标签:

【中文标题】Rails link_to image_tag - 使用 jQuery 获取点击时的 href 值【英文标题】:Rails link_to image_tag - getting the href value on click with jQuery 【发布时间】:2011-03-02 23:20:19 【问题描述】:

Rails 2.3.5

对于link_to image_tag',我一直在试图弄清楚如何使用jQuery 获取href。我认为它与 Rails 无关,而我使用 jquery 做错了什么。我为链接找到的所有示例都表明,当您在单击时获取链接时,应该有一个 href 属性。假设我将 id 放在 image_tag 块内还是相反(或两个块中的 :id )。就像,这些都不起作用(警报返回“未定义”):

  <%= 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"));

       ...


基本上,我正在尝试获取要在 AJAX 请求中使用的 href(有点像如何获取按钮提交操作并将其 URL 和 TYPE 用于请求。我还没有找到结构示例用于基于链接点击的 ajax 请求(仍在寻找)。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

第二个摘录应该可以,但是您缺少结束引号,并且您的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"));

【讨论】:

DOH 语法。谢谢 - 非常感谢您的帮助!

以上是关于Rails link_to image_tag - 使用 jQuery 获取点击时的 href 值的主要内容,如果未能解决你的问题,请参考以下文章

Rails:将请求标头添加到 image_tag

Rails 测试:在视图上测试 image_tag

如何从 rails image_tag 仅获取图像 src 属性?

如何将类添加到 image_tag rails helper

Rails:禁用link_to链接不起作用但隐藏link_to工作

Rails 的 link_to 方法:GET 啥时候应该 DELETE