在html qith JQuery中获取ERB标记值

时间:2017-07-13 14:18:27

标签: javascript jquery html ruby-on-rails erb

所以我有这段html

<td class="role-span"><span class="label"><% user.role %></span></td>

我正在尝试为表的每个单元格获取user.role值,如此

    $(document).ready(function() {
        $('.role-span').map(function() {
            alert($(this).text());
        })
    });

如果它是硬编码的话我可以获得范围文本值,但是如果它是<% %>则它不再起作用。

对此有何看法?

由于

2 个答案:

答案 0 :(得分:1)

<% %>只会执行ruby代码但会打印结果

使用<%= %>打印结果。

详情在这里:https://stackoverflow.com/a/7996827/2549588

role-span位于td上,所以如果你想获得所有跨度的文本,你应该这样做:

$(document).ready(function() {
    $('.role-span').map(function() {
        alert($(this).find('span.label').text());
    });
});

或许您应该使用each而不是map,因为您只想做一个循环而不是获取数组。

答案 1 :(得分:1)

正如上面提到的@donald你需要替换

<td class="role-span"><span class="label"><% user.role %></span></td>

<td class="role-span"><span class="label"><%= user.role %></span></td>

作为

  • <% %>只评估其中的表达式,而

  • <%= %>评估并打印表达式返回的结果。