0

我有一些包含事件对象数组的 json,每个事件都有一个日期和一个名称。在coffeescript中,我想遍历json,检查每个对象是否已经在页面上有一个表,其id与事件日期相同;如果确实如此,则将事件名称添加到具有相同事件日期的表中,如果没有,则创建一个以事件日期为 id 的新表并将名称添加到表中。

我不确定为什么我不能让它工作,即使不考虑将事件名称添加为表数据,我的代码也会为每个事件创建一个表,而不是每个日期只创建一个表。

for event,i in events
  date = event["date"]
  if $("table ##{date.replace(/\s+/g, '')}").length is 0
  table = "<table id='#{date.replace(/\s+/g, '')}'>
    <thead><tr><th>#{date}</th></tr></thead>
    <tbody></tbody></table>"
    $('#matches').append table

我遍历 events 数组,检查是否有一个 id 与当前项目的日期相同的表,如果没有,则创建表并将其添加到页面,但这会为每个项目添加一个表!

4

1 回答 1

0

选择器中的空格将查找元素的后代 ID,而不是元素本身。

如果没有看到 html 和数组示例,很难进一步提供帮助,但是如果您有<table id="someval">并且想要检查该 id ,则选择器肯定会出现问题。

由于页面中的 ID 在定义上必须是唯一的,因此仅在选择器中使用 ID 实际上更有效。ID 搜索是最快的 DOM 搜索。

还有我读书coffee不好。不确定双标##是什么。输出应该只有一个,并且选择器的输出中#不应该有任何输出{}

于 2013-03-30T18:12:50.537 回答