【发布时间】:2014-07-23 06:21:27
【问题描述】:
我正在尝试在我的 main.html 中创建一个标签栏视图,因此当我点击不同的标签时页面中的一个部分会切换。
只是想保持代码干净,我希望从单独的 HTML 文件中编写剖面视图并“导入”它们。
现在,我知道有一种方法可以将 HTML 导入为
<link rel="import" href="tab1.html">
在tab1.html里面,是这样的
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div>
<h1 id="sectionDiv">test test</h1>
</div>
</body>
</html>
但是在我的 main.html 中,我无法找到 $("#sectionDiv") 的 text() 值。 JQuery 适用于其他事情,因此 jQuery 设置不应该有问题。而且我猜我在导入 HTML 时做错了什么。
谁能帮忙指出来?
补充说明
我的 main.html 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Main Page</title>
<link rel="import" href="carpools.html">
<link rel="stylesheet" href="main.css"/>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script>
<script src="main.js"></script>
</head>
<body>
<div id="container">
<div id="tabBar">
<ul id="tabBarList">
<li><a href="#" onclick="switchTab(0)">Tab1</a></li>
<li><a href="#" onclick="switchTab(1)">Tab2</a></li>
<li><a href="#" onclick="switchTab(2)">Tab3</a></li>
<li><a href="#" onclick="switchTab(3)">Tab4</a></li>
<li><a href="#" onclick="switchTab(4)">Tab5</a></li>
</ul>
</div>
</div>
</body>
</html>
onclick 函数 switchTab() 旨在将不同的剖面视图 (id="sectionDiv") 带到主视图。但显然它无法识别它..
【问题讨论】:
-
这对我来说不是很清楚。我希望你问像
ajax -
不,只有在当前 DOM 中加载的元素是可访问的。如果要访问当前页面外部的元素,则需要通过 AJAX 加载。
-
@yeshansachithak 我添加了更多代码。看看你是否更清楚?谢谢
-
@RoryMcCrossan 你的意思是这样吗? api.jquery.com/load
-
这样也行,
$.ajax或$.post。在所有这些的回调中,您可以在返回的 HTML 上使用 jQuery 函数。
标签: javascript jquery html import