【发布时间】:2017-04-02 00:13:15
【问题描述】:
如果我从循环中删除div id,我会得到一个未定义的。
HTML:
为了论证,这是一个循环(两次)
<div class="card">
<canvas class="chart-class" id="chart_<%=model.id%>" width="400" height="200"></canvas>
<div>
<div class="card">
<% if 1 == 2 %>
<canvas class="chart-class" id="chart_<%=model.id%>" width="400" height="200">
<% else %>
No chart to display
<% end %>
<div>
JavaScript:
$('.card').each(function() {
let demo = $(this).find('.foo').attr('id');
console.log(demo);
});
这会给我身份证号码。如果我删除 id 为 1 或 2 的 div,我会在控制台中得到 undefined,但会得到最后一个 id 号。我需要防止这种情况发生:
$('.card').filter(undefined, function() {...});
没有显示。这个怎么办?
编辑:
我正在显示cart.js 来代替上面的div class="foo"。我确实有两个循环,但大多数时候只有一个图表会出现。在我的 js 中:
$('.card').each(function() {
let chartId = $(this).find('.chart-class').attr('id');
let ctx = $(`#${chartId}`);
[// chart data]
});
【问题讨论】:
-
dom 加载后你找到了吗?
-
你到底想达到什么目的?
-
好的,我会准确的。让我更新帖子。
-
“如果我删除 id 为 1 或 2 的 div”:向我们展示该代码;换句话说,提供一个完整的例子。
-
@JeroenHeier 好了,在 Rails 中。
标签: javascript jquery ruby ruby-on-rails-5