Javascript/Rails-如何将链接包装到而不是<;a></a>;在javascript中

Javascript/Rails-如何将链接包装到而不是<;a></a>;在javascript中,javascript,jquery,ruby-on-rails,link-to,Javascript,Jquery,Ruby On Rails,Link To,我对rails非常陌生,并使用了jpages插件作为一个概念。我的javascript如下所示: Javascript $("ul#thumbs li").click(function(){ $(this).addClass("selected").siblings().removeClass("selected"); var img = $(this).children().clone().addClass("animated fadeIn"); var linkVal

我对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为:

<li>
    <img src="example1.jpg" alt="page1_path">
</li>
  • 必须有一种比使用alt info并在末尾使用
    包装javascript更简单的方法。任何帮助都将不胜感激

    这是不可能的


    在编写
    时,如果您使用的是RubyonRails,请使用
    .js.erb

    现在,您可以在javascript中包含Ruby。e、 g

    $("#container").append(<%= link_to "Foo", root_path %>); 
    

    在Foo视图中,创建一个
    some_method.js.erb
    ,其中包含所需的所有javascript。该文件将访问您的控制器和模型方法。

    因此,与其创建,不如说
    您想创建
    或类似的内容?是的。基本上。有什么想法吗?这没什么意义,因为$(“div.img”)只是一个新元素,不能链接到真正的dom树。那是行不通的。JavaScript在浏览器中运行,但在HTML发送到浏览器之前,服务器端会对
    进行评估。除非这实际上是针对客户端模板系统的,否则我仍然误解了这个问题。您使用的是哪一个以及如何调用它?如果这个问题与Ruby无关,那么为什么要用Ruby标记它呢?您仍然无法从客户端模板调用Ruby方法。或者,
    link\u to
    是模板系统提供的方法吗?如果你没有正确地解释你的问题,我们无法帮助你,我们当然不想要求你提供每一点信息。谢谢你的帖子。这个最基本的概念帮助我认识到我的愚蠢,哈哈。
    $("div.img").html( img ).attr(linkValue));
    
    <li>
        <img src="example1.jpg" alt="page1_path">
    </li>
    
    $("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);
        $("div.img img").wrap($('<a></a>').attr('href', linkValue));
    });
    
    $("#container").append(<%= link_to "Foo", root_path %>); 
    
    def some_method
      respond_to do |format|
        format.js
      end
    end