使用coffescript有条件地向dom添加表

Conditionally adding tables to the dom using coffescript

本文关键字:dom 添加 coffescript 有条件 使用      更新时间:2023-09-26

我有一些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

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

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

没有看到html和数组样本很难进一步帮助,但选择器是绝对有问题的,如果你有<table id="someval">,并想要检查该id。

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

我也不太懂coffee。不确定双##是什么。输出应该只有一个#,不应该有任何{}在输出选择器