Javascript 如何使用JS控制包含的HTML文件返回的内容?
我使用jQuery加载HTML的可重用部分:Javascript 如何使用JS控制包含的HTML文件返回的内容?,javascript,jquery,html,Javascript,Jquery,Html,我使用jQuery加载HTML的可重用部分: $("#menu-header").load("include/menu_header.html"); 这将返回如下所示的导航页码列表: <span class="menu-link"> <a href="./menu1.html">1</a> </span> <span class="menu-link"> <a href="./menu2.html">2&l
$("#menu-header").load("include/menu_header.html");
这将返回如下所示的导航页码列表:
<span class="menu-link">
<a href="./menu1.html">1</a>
</span>
<span class="menu-link">
<a href="./menu2.html">2</a>
</span>
但它所做的是——暂时——显示没有导航菜单的页面,然后立即变为除了导航菜单之外没有任何内容的白色页面,并且没有应用CSS。此导航菜单看起来与预期的一样,但是如何在正常页面中创建导航菜单
$("#menu-header").load("include/menu_header.html");
在页面加载后调用。然后你打电话:
document.write(...
它将开始写入新页,因为该页已呈现。如果您创建menu_header.html如下:
<span class="menu-link menu1"> <a href="./menu1.html">1</a> </span>
<span class="menu-link menu2"> <a href="./menu2.html">2</a> </span>
…然后按如下方式调用加载函数:
$("#menu-header").load("include/menu_header.html", function() {
cur_page_fname = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
if (cur_page_fname == 'page1.html') {
$('span.menu2 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
if (cur_page_fname == 'page2.html') {
$('span.menu1 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
});
$(“#菜单头”).load(“include/menu_header.html”,function()){
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“page1.html”){
$('span.menu2 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
如果(cur_page_fname==“page2.html”){
$('span.menu1 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
});
你应该达到预期的结果
在页面加载后调用。然后你打电话:
document.write(...
它将开始写入新页,因为该页已呈现。如果您创建menu_header.html如下:
<span class="menu-link menu1"> <a href="./menu1.html">1</a> </span>
<span class="menu-link menu2"> <a href="./menu2.html">2</a> </span>
…然后按如下方式调用加载函数:
$("#menu-header").load("include/menu_header.html", function() {
cur_page_fname = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
if (cur_page_fname == 'page1.html') {
$('span.menu2 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
if (cur_page_fname == 'page2.html') {
$('span.menu1 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
});
$(“#菜单头”).load(“include/menu_header.html”,function()){
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“page1.html”){
$('span.menu2 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
如果(cur_page_fname==“page2.html”){
$('span.menu1 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
});
你应该达到预期的结果
在页面加载后调用。然后你打电话:
document.write(...
它将开始写入新页,因为该页已呈现。如果您创建menu_header.html如下:
<span class="menu-link menu1"> <a href="./menu1.html">1</a> </span>
<span class="menu-link menu2"> <a href="./menu2.html">2</a> </span>
…然后按如下方式调用加载函数:
$("#menu-header").load("include/menu_header.html", function() {
cur_page_fname = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
if (cur_page_fname == 'page1.html') {
$('span.menu2 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
if (cur_page_fname == 'page2.html') {
$('span.menu1 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
});
$(“#菜单头”).load(“include/menu_header.html”,function()){
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“page1.html”){
$('span.menu2 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
如果(cur_page_fname==“page2.html”){
$('span.menu1 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
});
你应该达到预期的结果
在页面加载后调用。然后你打电话:
document.write(...
它将开始写入新页,因为该页已呈现。如果您创建menu_header.html如下:
<span class="menu-link menu1"> <a href="./menu1.html">1</a> </span>
<span class="menu-link menu2"> <a href="./menu2.html">2</a> </span>
…然后按如下方式调用加载函数:
$("#menu-header").load("include/menu_header.html", function() {
cur_page_fname = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
if (cur_page_fname == 'page1.html') {
$('span.menu2 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
if (cur_page_fname == 'page2.html') {
$('span.menu1 a').replaceWith(function(){
return $("<span>" + $(this).html() + "</span>");
});
}
});
$(“#菜单头”).load(“include/menu_header.html”,function()){
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“page1.html”){
$('span.menu2 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
如果(cur_page_fname==“page2.html”){
$('span.menu1 a')。替换为(函数(){
返回$(“”+$(this.html()+);
});
}
});
您应该可以获得所需的结果。不要使用异步动态加载,请使用简单的脚本元素: menu_header.js
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“menu1.html”){
document.write(
'1');
document.write(
' ');
}else if(cur_page_fname==“menu2.html”){
document.write(
' ');
document.write(
'2');
}
menu1.html
无论什么
还有别的吗
这样可以避免暂时丢失导航部分,因为加载页面时脚本是同步执行的。不要使用异步动态加载,请使用简单的脚本元素: menu_header.js
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“menu1.html”){
document.write(
'1');
document.write(
' ');
}else if(cur_page_fname==“menu2.html”){
document.write(
' ');
document.write(
'2');
}
menu1.html
无论什么
还有别的吗
这样可以避免暂时丢失导航部分,因为加载页面时脚本是同步执行的。不要使用异步动态加载,请使用简单的脚本元素: menu_header.js
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“menu1.html”){
document.write(
'1');
document.write(
' ');
}else if(cur_page_fname==“menu2.html”){
document.write(
' ');
document.write(
'2');
}
menu1.html
无论什么
还有别的吗
这样可以避免暂时丢失导航部分,因为加载页面时脚本是同步执行的。不要使用异步动态加载,请使用简单的脚本元素: menu_header.js
cur\u page\u fname=location.pathname.substring(location.pathname.lastIndexOf(“/”)+1);
如果(cur_page_fname==“menu1.html”){
document.write(
'1');
document.write(
' ');
}else if(cur_page_fname==“menu2.html”){
document.write(
' ');
document.write(
'2');
}
menu1.html
无论什么
什么