使用coffescript有条件地向dom添加表
Conditionally adding tables to the dom using coffescript
我有一些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
。不确定双##
是什么。输出应该只有一个#
,不应该有任何{}
在输出选择器
相关文章:
- 向动态生成的DOM添加Angular自定义指令
- 通过AJAX侦听向DOM添加某些元素
- 是否可以加快向DOM添加一组元素的速度
- 通过访问DOM添加功能
- angular2:使用*ngIf构建svg图标不会给DOM添加任何内容
- 如何在声明后运行DOM添加的指令
- 在对象创建器中向 DOM 添加选项
- 向 DOM 添加新元素时出现问题
- AngularJS:如何从服务向 dom 添加和编译指令
- 使用 MathJax 向 DOM 添加元素
- 向 DOM 添加一个简单的图像标记,而不是使用 GWT 控件以获得更好的 JS 运行时性能
- IE在通过Javascript向DOM添加大量HTML时太慢
- JavaScript/CSS:向DOM添加元素和应用其CSS规则之间的延迟
- 在向DOM添加元素时调用Meteor助手函数
- Angularjs在单击时向DOM添加元素
- 如何避免第一行被删除,同时使用DOM添加和删除html表行
- 动态地向dom添加事件侦听器
- 在每次迭代时向DOM添加一个元素,而不是在循环结束时添加全部元素
- 如何在向DOM添加新元素后重新加载函数
- 动态地向DOM添加和删除样式表