Javascript 如何使用JS控制包含的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

我使用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</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

无论什么
什么