Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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 如何引用在HTML索引中使用jquery的两个HTML文件?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何引用在HTML索引中使用jquery的两个HTML文件?

Javascript 如何引用在HTML索引中使用jquery的两个HTML文件?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试为两个使用jquery的HTML文件创建索引页。 以下是文件的分类: Emps1、Emps2:两个HTML表都有空表 TabA_stats,TabB_stats:每个HTML文件都有一个独立的js文件来填充 包含.csv文件数据的表 Tab_A_4-1-2014,Tab_B_4-1-2014:两个HTML文件,使用空表HTML文件和JS创建一个填充表 CSV_A_4-1-2014,CSV_B_4-1-2014:两个包含数据的CSV文件 索引:这是我试图引用表1和表2的地方 因此,我

我正在尝试为两个使用jquery的HTML文件创建索引页。 以下是文件的分类:

  • Emps1、Emps2:两个HTML表都有空表
  • TabA_stats,TabB_stats:每个HTML文件都有一个独立的js文件来填充 包含.csv文件数据的表
  • Tab_A_4-1-2014,Tab_B_4-1-2014:两个HTML文件,使用空表HTML文件和JS创建一个填充表
  • CSV_A_4-1-2014,CSV_B_4-1-2014:两个包含数据的CSV文件
  • 索引:这是我试图引用表1和表2的地方
因此,我尝试在索引中引用选项卡A\u 4-1-2014和选项卡B\u 4-1-2014,因此当我单击链接时,选项卡A\u 4-1-2014或选项卡B\u 4-1-2014将在同一页面上运行

因此,javascript基本上会查看HTML表格的名称(Tab_A_04-01-2014和Tab_B_04-01-2014),并查找带有相应日期的CSV文件,以用数据填充表格(CSV_A_4-1-2014,CSV_B_4-1-2014

我的问题是这两个表无法填充,当我调试时,我认为问题在于JS试图获取文件名:

TabA_统计数据(我认为我的标题有问题:

var path_data = location.pathname.split("_");
var date_info = path_data[2].split(".");
var log_date = date_info[0];
$("#logdate").text(log_date);
也就是说,js文件看到文件名只是index.html,无法找到csv来填充

我怎样才能解决这个问题呢?请尽可能多地解释,因为我只接触JS和Jquery一周

编辑:

表1\u 4-1-2014(目前我只处理第一个表):


//将HTML布局、表格加载到div“ess\u stats\u div”
$('tabA_stats_div').load(“tabA_stats.html”);
//加载js文件“tabA_stats.js”并执行
$.getScript('tabA_stats.js');
索引(我只有表1)到目前为止:


$(文档).ready(函数(){
$(“#加载#home”)。在(“单击”,函数()上{
$(“#content”).load(“Tab_A_04-01-2014.html”);
});
});

Javascript是零索引的。因此,如果要查找第一个下划线之后的部分,您需要

var date_info = path_data[1].split(".");
而不是

var date_info = path_data[2].split(".");

您正在经历的行为是预期的;JavaScript
location
对象包含有关当前URL的信息。因此,如果此脚本(声称是TabA_统计的一部分)在根目录中的
index.html
上运行,则
location.pathname
将准确返回该信息(
index.html
),假设它在服务器上运行,而不是在本地查看,因为后一种情况将包括完整的目录路径

现在,让我们来谈谈浏览器的实际工作原理。当您访问主页(
index.html
)时,浏览器会向服务器发送一个请求,请求文件
index.html
。当html文件发送回浏览器时,它会开始阅读,挑选出它没有的部分(即JavaScript文件、图像等)并生成对这些项目的请求,并将这些请求发送回服务器。您的浏览器也会在剩余资源到达时呈现它可以处理和加载的内容(每个浏览器的确切过程不同,但总体思路是相同的)

让我们到此为止;您现在有了什么?您已经完全加载或文档对象模型。在核心部分,这本质上是页面上所有HTML元素的树。有没有运行过JavaScript代码?可能吧;但是通过使用类似于
$(Document.ready();
的东西,我们可以推迟jQuery代码(最常访问/操作DOM)在DOM完全加载后运行。记住,JavaScript是语言;jQuery只是JS上的一个库或扩展

除了我在第一段中概述的问题外,您对帖子的编辑让我清楚地认识到,您的分层太多了。这几乎让人感觉您正在尝试将面向对象的实践应用到web开发中。让我们放弃每个表都是单独的“对象”的想法因此,它必须有自己的HTML文件。相反,让我们将所有内容编译成尽可能少的资源,以便尽可能快地向用户加载

您可以将您的结构缩减为1个HTML文件和1个JS文件(我假设您的CSV文件是来自某个地方的转储文件,可能会发生更改,所以我们将不考虑这些文件)。您的
index.html
文件应该包含两个选项卡,每个选项卡都包含每个表所需的html元素。在
index.html
中,所有内容都应该定义为html,除非存在物理上无法随请求一起发送的动态数据(在您的情况下,是您的CSV文件)因此,我们可以让jQuery的AJAX特性在加载DOM后从CSV文件加载数据


简而言之:在继续之前,你有大量的阅读工作要做。我建议你不要继续你目前的结构和思考这个项目的方式。从1个HTML文件和1个JS文件开始;在使用JS加载动态数据之前,尽可能多地使用静态HTML。发布一个特定的问题你有了这些概念,你就可以开始了!

当我怀疑你试图解决的实际问题要简单得多时,这看起来太复杂了。你能解释一下你试图解决的问题吗?如果不能解释,请提供每个HTML文件的示例以供参考。这个问题相当混乱。为什么你在9月有表格创建HTML文件?查看
iframevar date_info = path_data[1].split(".");
var date_info = path_data[2].split(".");