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请求(仍在寻找)。
感谢您的帮助!
答案 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"));
}