使用 JQuery 获取 html 内的 ERB 标签值

Get ERB tag value within html qith JQuery

所以我有这张html

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

我正在尝试为 table 的每个单元格获取 user.role 值,就像这样

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

如果它是硬编码的,我可以得到跨度文本值,但如果它是 <% %>,它就不再起作用了。

对此有什么想法吗?

谢谢

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

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

详情在这里:

并且 role-spantd 上,所以如果你想获得所有 span 的文本,你应该这样做:

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

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

如上@donald 所述,您需要更换

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

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

作为

  • <% %> 只计算其中的表达式,而

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