问题描述:在一个页面中,当点击a标签时,把原页面的某个节点更换成一个新的html文件中某个节点,我只能做到把另一个html页面的所有内容全部获取到并替换,不能获取到另一个html文件指定的某个节点,我不会jQuery,麻烦大家最好用js,谢谢大家。
问题出现:学校要我们自己做一个网站,我做出了一个主页面,想通过加载新的HTML文件中的节点来替换主页面的某个标签,但是我不能获取到新的html文件的节点,我找了网上好多教程,但是他们都是用jQuery实现的。
相关代码:
index.html
menu.html
js代码:
window.οnlοad=function() {
var containerHead=document.getElementsByClassName("container-header")[0];
var childA=containerHead.getElementsByTagName("li")[1].getElementsByTagName("a");
childA.οnclick=ajaxFunction();
var xmlhttp;
function ajaxFunction(){
// 调用实例化对象方法
createXMLHttpRequest();
//设置回调方法
if(xmlhttp!=null){
xmlhttp.onreadystatechange=callBack;
xmlhttp.open("GET","./menu.html",true);
xmlhttp.send();
}
}
//实例化xmlhttp对象
function createXMLHttpRequest(){
if(window.XMLHttpRequest) {
//IE7,chrome,safari,firefox
xmlhttp=new XMLHttpRequest();
}else {
//IE6,IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
//响应函数
function callBack(){
if(xmlhttp.readyState==4&&xmlhttp.status==200) {
// var rel=xmlhttp.responseText;
var containerText=xmlhttp.documentElement;
// document.getElementsByClassName("account-container")[0].innerHTML=containerText;
}
}
}
期待:获取menu.html的一个指定节点(不是获取一个文件的所有内容)并替换掉主页面的一个节点,实现局部刷新的效果