我已经在一个项目上工作了 4 天,完全是手工编写的,看看我在 javascript 方面的进展如何(我一直在学习 Codecademy 类(class))。我正在尝试创建一个基于浏览器的 list 程序。到目前为止我已经编写了一个干净的菜单界面,可以动态创建 <div>
s。
这是我在 jsfiddle 上得到的内容:
http://jsfiddle.net/SdCaf/1/
我的问题:
- 我可以写
taskToggle()
吗?更有效地运作?有没有jquery的方法来简化它? 如果您有时间在 Fiddle 中检查我的代码;它会轻松地转移到 mysql 吗?或者我是否创建了一些愚蠢的冗余拼凑,这将使更新变得困难?
已修复 为什么我的
formatTask()
不会构造函数添加复选框和描述(如 if/else 中所示) - 我的taskToggle()
有问题吗?功能,是复选框<div>
我正在尝试添加两者,还是其他内容?
formatTask()
构造函数:
function formatTask(target, divId, content, description, complete) {
function taskToggle() {
if ($(this).hasClass("completeTask")) {
$("#" + divId).attr("class", "incompleteTask");
$("#" + divId + "Box").attr("class", "incompleteBox");
}
else if ($(this).hasClass("incompleteTask")) {
$("#" + divId).attr("class", "completeTask");
$("#" + divId + "Box").attr("class", "completeBox");
}
};
if (complete) {
var div = new formatDiv(target, divId, "completeTask", content, taskToggle, description);
formatDiv(divId, divId + "Box", "completeBox", "O");
div.addDescription();
}
else {
var div = new formatDiv(target, divId, "incompleteTask", content, taskToggle, description);
formatDiv(divId, divId + "Box", "incompleteBox", "[ ]");
div.addDescription();
}
}
当我调用它时,它似乎接受了它的所有参数,并且我在控制台中没有收到任何错误,但它似乎没有运行 formatDiv(divId, divId + "box", "completeBox", "O");
和div.addDescription
。如果您单击 Fiddle 结果 Pane 中的“»显示列表”,您可以亲自看到这一点(您将获得 .addDescription()
函数应该如何工作的示例)
如果您希望提供任何其他反馈,我们将不胜感激。我需要知道我是否走在正确的轨道上,或者我是否开始编写变得不优雅的垃圾代码。
如果您愿意的话,非常感谢您的宝贵时间!
最佳答案
这里的问题是您为任务分配的 DOM ID 是“atask!”这是无效的(因为!)字符。确保您remove invalid characters来自您的 ID 和类(class)名称!
关于javascript - 传递参数以及为 MYSQL 集成准备代码时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624233/