【发布时间】:2013-12-05 04:55:06
【问题描述】:
我对 Rails 很陌生,并且正在使用 jpages 插件来实现概念。我的javascript如下:
Javascript
$("ul#thumbs li").click(function(){
$(this).addClass("selected").siblings().removeClass("selected");
var img = $(this).children().clone().addClass("animated fadeIn");
var linkValue = $(this).children("img").attr("alt");
$("div.img").html( img ).wrap($('<a></a>').attr('href', linkValue));
});
HTML
<ul id="thumbs" class="clearfix">
<li><img src="example1.jpg" alt="page1.html"></li>
<li><img src="example2.jpg" alt="page2.html"></li>
<li><img src="example3.jpg" alt="page3.html"></li>
</ul>
我希望能够改变这一行:
$("div.img").html( img ).wrap($('<a></a>').attr('href', linkValue));
所以包装会是这样的:
$("div.img").html( img ).attr(linkValue));
html 为:
<li>
<img src="example1.jpg" alt="page1_path">
</li>
必须有一种更简单的方法,而不是获取 alt 信息并在 javascript 中以 <%= link_to" 开头和 do "%> 结尾。任何帮助,将不胜感激。
【问题讨论】:
-
所以,与其创建,不如说
<a...><img .../></a>你想创建<%= link_to(<im .../>) %>或类似的东西? -
是的。基本上 。有什么想法吗?
-
没有意义,因为 $("div.img") 只是一个新元素,并没有链接到真正的 dom 树。
-
那行不通。 JavaScript 在浏览器中运行,但
<%= ... %>在服务器端进行评估,在 HTML 被发送到浏览器。除非这实际上是针对客户端模板系统,否则我仍然误解了这个问题。 -
您使用的是哪一个以及如何调用它?如果这个问题与 Ruby 无关,为什么还要用 Ruby 来标记这个问题呢?您仍然不能从客户端模板调用 Ruby 方法。还是
link_to是模板系统提供的方法?如果您没有正确解释您的问题,我们将无法为您提供帮助,我们当然也不想要求您提供所有信息。
标签: javascript jquery ruby-on-rails link-to