Javascript 我的数组输出中的这个`#`来自哪里?
编辑我简化了Javascript 我的数组输出中的这个`#`来自哪里?,javascript,jquery,arrays,Javascript,Jquery,Arrays,编辑我简化了 out.push('<li>' + clicks[i].target + outputTime + 'm</li>'); } (".taskList ul li p").html(out.join('')); /编辑 我使用带有回调函数的jQuery Jeditable插件在字段更改时启动计时器 单击按钮时,计算Jedit和click事件之间的时间,并将值放置在dom中编辑的“…单击编辑”文本旁边-在将整个Div移动到新部分之前,重置计时器
out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
(".taskList ul li p").html(out.join(''));
/编辑
我使用带有回调函数的jQuery Jeditable插件在字段更改时启动计时器
单击按钮时,计算Jedit和click事件之间的时间,并将值放置在dom中编辑的“…单击编辑”文本旁边-在将整个Div移动到新部分之前,重置计时器并创建一个新的Jeditable实例来代替原始实例
我的困难在于,我从另一篇堆栈溢出文章中找到的JSFIDLE中获取了大部分代码的计时器部分。此操作的输出是在我的结果前面放置一个#字符
我发现计时器代码使用的是push()方法,这将返回一个数组,我想这就是我的额外字符的来源。就编程而言,数组是我目前的绊脚石,我想知道是否有人可以解释我如何正确处理数组以删除#,或者我可以在下面的代码中用什么来替换它(我无法在JSFIDLE中建立外部链接,所以我已经发布了代码)
-
…单击以编辑
00.00
-
$(文档).ready(函数(){
$(“.edit”).editable(“echo.php”{
占位符:“单击我进行编辑”,
加载类型:“POST”,
回调:函数(值、设置){
startTime=新日期().getTime();
console.log(startTime);
}
});
$(“#完成”)。单击(函数(e){
函数更新_输出(){
var out=[],
显示时间;
对于(变量i=0,len=clicks.length;i”+单击[i].target+outputTime+'m);
}
$(“.tasklistullip”).html(out.join(“”));
}
var=[];
单击.push({time:new Date().getTime(),target:$(this.attr('href')});
更新_输出();
美元(“.taskList ul li”)。附录(“.doneList”)
$(.edit”).removeClass(“edit”).unbind(“click.edit”);
$(“。单击以编辑”)
.附于(“.taskList ul”);
$(“.edit”).editable(“echo.php”{
占位符:“单击我进行编辑”,
加载类型:“POST”,
回调:函数(值、设置){
startTime=新日期().getTime();
console.log(startTime);
}
});
e、 预防默认值()//
});
});
您不想在URL中添加#
?然后添加返回false代码>在的底部单击处理程序。(使用而不是e.preventDefault()
)通过简化
out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
(".taskList ul li p").html(out.join(''));
out.push(“”+点击[i].target+outputTime+'m ”);
}
(“.tasklistullip”).html(out.join(“”));
到
//out.push(''+单击[i].target+outputTime+'m ');
}
$(“.taskList ul li p”).html(输出时间);
html()函数不再通过push()方法输出变量,而是简单地将outputTime变量作为节点插入。谢谢matt,不过我不这么认为。它是out返回的#98098
代码>一旦代码运行,我就遇到了困难,这确实解决了我不知道自己遇到的file.html问题。谢谢@幸运的是,请将答案标记为已接受,而不是将标题更改为已解决。单击此答案左侧的复选标记。嗨,梅塞克,这不是答案。这是有帮助的(我加1表示支持)断章取义,但根本没有解决我的问题。我已经在我的帖子顶部添加了我所做的代码修复,但是我觉得如果把这个答案标记为正确的话,那将是一种误导。你能告诉我是否有更好的方法让我把我的问题标记为已回答吗?@macek再次回答了我自己的问题。啊!,在页面底部有一个大按钮,上面写着回答这个问题。我自己的问题是:我不得不等两天。也许在这个时候,我可能会得到一个比我的黑客补丁更好的答案;)
<div class="row">
<div class="eight columns">
<div class="row taskList">
<ul>
<li>
<div class="nine columns task">
<div class="edit">
..click to edit
</div>
</div>
<div class="three columns time">
<p>00.00</p>
</div>
</li>
</ul>
</div>
<ul class="row doneList">
<li>
</li>
</ul>
</div>
<div class="four columns">
<p><a href="#" class="success button" id="done">Go!</a></p>
</div>
</div>
$(document).ready(function() {
$(".edit").editable("echo.php", {
placeholder : "Click me to edit",
loadtype : "POST",
callback: function(value, settings) {
startTime = new Date().getTime();
console.log(startTime);
}
});
$("#done").click(function(e){
function update_output() {
var out = [],
displayTime;
for (var i = 0, len = clicks.length; i < len; i++) {
displayTime = (clicks[i].time - startTime);
console.log(displayTime);
outputTime = displayTime //* 0.00001666666;
console.log(outputTime);
outputTime = outputTime.toFixed(0);
console.log(outputTime);
out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
$(".taskList ul li p").html(out.join(''));
}
var clicks = [];
clicks.push({ time : new Date().getTime(), target : $(this).attr('href') });
update_output();
$(".taskList ul li").appendTo(".doneList")
$(".edit").removeClass("edit").unbind("click.editable");
$("<li><div class='nine columns task'><div class='edit'>..click to edit</div><div class='three columns time'><p></p></div></li>")
.appendTo(".taskList ul");
$(".edit").editable("echo.php", {
placeholder : "Click me to edit",
loadtype : "POST",
callback: function(value, settings) {
startTime = new Date().getTime();
console.log(startTime);
}
});
e.preventDefault();//
});
});
out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
(".taskList ul li p").html(out.join(''));
//out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
$(".taskList ul li p").html(outputTime);