Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改JSFIDLE代码以使其在webrowser中工作_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何更改JSFIDLE代码以使其在webrowser中工作

Javascript 如何更改JSFIDLE代码以使其在webrowser中工作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我知道有人问过这样的问题,但我找不到问题的答案。 所以我在JSFIDLE中有一个工作代码,它创建了一个表,然后您选择行,它将该行涂成红色。在jsFiddle中一切都很好,在jsFiddle中我选择了no-wrap 但是当我尝试从我的编辑器(netbeans)中编写代码时,它不起作用。我将js代码作为单独的文件和jQuery库添加到head中 var sestevanje=1; var zdaj=新日期()//纳斯塔维莫卡斯 var dan=(“0”+zdaj.getDate()).slice(

我知道有人问过这样的问题,但我找不到问题的答案。 所以我在JSFIDLE中有一个工作代码,它创建了一个表,然后您选择行,它将该行涂成红色。在jsFiddle中一切都很好,在jsFiddle中我选择了no-wrap

但是当我尝试从我的编辑器(netbeans)中编写代码时,它不起作用。我将js代码作为单独的文件和jQuery库添加到head中

var sestevanje=1;
var zdaj=新日期()//纳斯塔维莫卡斯
var dan=(“0”+zdaj.getDate()).slice(-2);
var mesec=(“0”+(zdaj.getMonth()+1)).slice(-2);
变量数据=(dan)+“+(mesec)+”+zdaj.getFullYear();
函数dodaj(){
var opNaslov=$(“#naslov”).val();
var vrNaslov=$(“#vrsta”).val();
var nuOpravila=$(“#nujnost”).val();
//var datum=$.datepicker.formatDate('dd.mm.yy',new Date());
美元(“#vstavljanje”)。在(“+sestevanje+”+opNaslov+”+vrNaslov+”+nuOpravila+“+datum+”)之前;
sestevanje=sestevanje+1;
};
$(“表”)。委托(“tr”,“单击”,函数(){
$(此).addClass(“obarva”);
});
$(“#odstrani”)。单击(函数(){
$(“.obava”).hide();
});
…在JSFIDLE中,我选择了no-wrap

具体来说,您选择了
无换行

但是当我尝试从我的编辑器(netbeans)中编写代码时,它不起作用。我将js代码作为单独的文件和jQuery库添加到head中。

(我的重点)

这就是问题所在-将它们放在
正文
中,就在关闭
标记之前

如果将脚本放在
头部
,则在脚本运行时,
主体
中的DOM元素都不存在(因为脚本是在遇到并创建元素之前遇到它们时运行的*)。但是如果将脚本放在
正文的末尾,则所有元素都存在,因为它们已经遇到并创建。因此,您可以找到它们,将事件处理程序附加到它们,等等

如果您必须将脚本放入
头部
,您可以使用类似jQuery的函数(它等待调用代码直到DOM“准备就绪”),但这确实适用于无法控制脚本标记放置位置的情况


*“遇到脚本时会运行它们”-除非您使用并且浏览器支持它们


除非有具体原因做其他事情,通常的布局(由和推荐,除其他外)是将CSS放在
头部
,脚本放在
正文
的末尾,如下所示:

<!doctype html>
<html>
<head>
<meta charset="UTF-8"><!-- Or whatever charset you use -->
<title>Your title</title>
<!-- `link` and/or `style` here for your CSS -->
<!-- other `head` content -->
</head>
<body>
<!-- body content -->
<!-- script tags -->
</body>
</html>

你的头衔

将对该文件的
标记引用放在
的前面,“如果您将脚本放在头部(大多数情况下是反模式)”,为什么这是反模式?我的印象是这实际上是更好的练习?@Mattytomo:正是因为这个问题被问到的原因:脚本想要使用的元素还不存在。我不知道这种“把脚本放在头上”的模因是如何开始的,但除非有具体的要求,否则它就是错误的。请看这本书,它已经存在多年了,上面写着(除其他外)“头上有CSS,身上有脚本”。当然,这不是非黑即白的,有时你需要在内容之前有脚本,但通常不是。很抱歉插进来,但如果你的脚本没有以我所说的“负责任”的方式运行,这只是一种“反模式”。使用模块、依赖关系管理、事件侦听器和监视文档就绪(或您需要的特定元素)将解决此问题。它不仅解决了内容没有准备好的问题,而且还促进了可重用、可维护、经得起未来考验的代码。头部是脚本标记的正确位置,但它们必须防御性地编写。@rockerest:完全同意使用模块、依赖关系管理等与脚本位置无关的内容。不同意“准备就绪”机制;它们解决了将脚本放在
末尾所没有的问题。反模式注释似乎分散了答案的注意力,我将删除它。
<!doctype html>
<html>
<head>
<meta charset="UTF-8"><!-- Or whatever charset you use -->
<title>Your title</title>
<!-- `link` and/or `style` here for your CSS -->
<!-- other `head` content -->
</head>
<body>
<!-- body content -->
<!-- script tags -->
</body>
</html>