JS JQ基础知识 ------ js载入,事件动态绑定,xml文件的获取和解析

这是我的极弱项,因为自己的一些原因,一些基础的搬砖方法我可能都忘的差不多了,这里借这次机会进行一次基础的学习,也是进行一次基础的总结,唤醒一下自己体内的搬砖之魂吧。

文档载入后运行函数

window.onload = function () {}
$(document).ready(function(){});

js事件动态绑定
jq中on()和click()区别

 $("......").on("click",function(){});
//简单的click动作绑定
 $("元素1").on("click","元素2",function(){});
//动态绑定 元素1(父) 中的 元素2(子)

获得xml文件

function loadXmlFile(xmlFile)//xmlFilexml文件的地址
{
    var xmlDom = null;
    if (window.ActiveXObject)//IE浏览器中读取xml文件
    {
        xmlDom = new ActiveXObject("Microsoft.XMLDOM");
        xmlDom.async = "false";
        xmlDom.load(xmlFile);
    }
    else if (document.implementation && document.implementation.createDocument) {
        //Firefox,Chrome 浏览器中读取xml文件 ,Chrome 需要开服务器才能访问
        var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open("GET", xmlFile, false);
        xmlhttp.send(null);
        xmlDom = xmlhttp.responseXML;
    }
    else {
        xmlDom = null;
    }
    return xmlDom;
}

对获取的xml对象进行解析

xmlDoc.getElementsByTagName("标签名");---获取标签对象
标签对象.getAttribute("name")          ---获取标签属性

......
function actionSence(sceneid, actionid) {
    var thisScene = sceneList[sceneid];
    var thisEvent = thisScene.childNodes[actionid];
......
    if (thisEvent.nodeName == "#text") {
        actionSence(sceneid, Number(actionid) + 1);
        return;
    }
//当nodeName获取为#text的时候,直接继续递归(获取到了空格文本)
直到获得的不是#text(正常标签对象)
......
}
function text(e) {
    var t = "";
    e = e.childNodes || e;//如果传入的是元素,则继续遍历其子元素;否则假定它是一个数组 
    for (var i = 0; i < e.length; i++) {
        //如果不是元素,追回其文本值; 
        //否则,递归遍历所有元素的子节点; 
        t += e[i].nodeType != 1 ? e[i].nodeValue : text(e[i].childNodes);
        //元素类型是不是单纯的元素(nodeType==1),而是一个有着文本内容(nodeValue存在)
    }
    return t;
}

猜你喜欢

转载自blog.csdn.net/u010088421/article/details/80384788