美文网首页
js 与 html杂记

js 与 html杂记

作者: 风___________ | 来源:发表于2018-02-06 04:09 被阅读7次

    1. html中引入js

    1. 直接在html中添加
    <head>
      <script>
        // js here......
      </script>
    </head>
    
    1. 引用js文件路径
    <head>
      <script src = "xxx.js" ></script>
    </head>
    

    // 因为js代码加载需要时间所以建议将引用放在body最后,原因是html是从上往下加载的

    <body>
      <script src = "xxx.js"></script>
    </body>
    

    2. 数组创建的三种方式

    var array = new Array(4);
    array(0) = "one";
    array(1) = "two";
    
    var array = new Array("one","two");
    
    var array = ["one","two"];
    

    3. 对象创建的种方式

    var lennon = new Object();
    lennon.name = "xiaoming";
    
    var lennon = {name:"xiaoming"};
    

    4. js操作DOM树

    1. 获取元素(还有许多~)
    var xxx = document.getElementById("xxx");
    var liArray = document.getElementByTagName("li");
    var classArray = document.getElementByClassName("xxx");
    //获取父元素节点
    xxx.getParentNode;
    
    1. 更改元素属性
    getAttribute("");
    setAttribute("","");
    
    1. node 节点
    nodeType 属性(值是 int ) : 子节点类型
    元素节点 1
    属性节点 2
    文本节点 3
    nodeName属性(值是 String) :子节点的名称
    
    nodeValue 属性: 设置获取文本节点的值
    
    1. javaScript 伪协议
      伪协议不同于因特网上所真实存在的协议,如http://,https://,ftp://,
      而是为关联应用程序而使用的.如:tencent://(关联QQ),data:(用base64编码来在浏览器端输出二进制文件),还有就是javascript:
      我们可以在浏览地址栏里输入"javascript:alert('JS!');",点转到后会发现,实际上是把javascript:后面的代码当JavaScript来执行,并将结果值返回给当前页面。
    <a href="javascript:;" name="price">150元-300元</a>
    
    下面我们主要是聊聊不想要<a>标签跳转到实际页面的几种方法。
    <a href="#"></a> <!-- 点击这个链接后,会让页面跳到页面顶部,在location.href后面增加#号。 -->
    <a href="#none"></a> <!--点击这个链接后, 如果页面里面有id为none的元素,会执行锚点机制跳转到这个元素上缘-->
    <a href="###"></a> <!--不跳转,可以阻止默认的跳转行为,但是这个在后端代码中容易识别成注释,后面的代码不显示,之前遇到过这种坑,之后再没用过-->
     <!-- 下面几种基于伪协议 -->
    <a href="javascript:"></a>
    <a href="javascript:;"></a>
    <a href="javascript:void(0)"></a>
    <a href="javascript :void(0);"></a>
    
    1. js 与 html 分离,js中添加事件处理函数
      // onload 加载完成回掉函数
      // onClick 鼠标点击和回车键都会触发
      // onKeypress 键盘按键监听
    window.onload = function (){
        var addClickNode = document.getElementById("clickNode");
        addClickNode.onClick = function(){
            showPic(this);
            return false;
        }
    };
    
    1. js与css的结合
    var placehold = document.getElemendsByid("placehold");
    var source = placehold.src;
    // var source = placehold.getAttribute("src");
    placehold.src = source;
    // placehold.setAttribute("src",source);
    
    1. write(插入字符串) 和 innerHTML (插入html)
    1.write是DOM方法,向文档写入HTML表达式或JavaScript代码,可列出多个参数,参数被顺序添加到文档中 ;innerHTML是DOM属性,设置或返回调用元素开始结束标签之间的HTML元素。
    
    2.两者都可向页面输出内容,innerHTML比document.write更灵活。
    
    3. 当文档加载时调用document.write直接向页面输出内容,文档加载结束后调用document.write输出内容会重写整个页面
    
    4. innerHTML 一旦被使用,则会将他全部的内容替换,根本无法区分插入还是替换一段html
    

    5. DOM方法

    1. createElemet:创建文档碎片~
    var node = document.createElement("nodeName");
    
    1. createTextNode: 创建文本节点
    var txt = document.createTextNode("这是一段文本");
    
    1. appendChild: 添加子节点(属性节点,文本节点,元素节点)
    var parent = document.getElementById("parent");
    parent.appendChild(node) ;
    
    1. insertBefore: 把一个新元素插入到现有元素之前
    parentEment.insertBefore(newElement,targetElement);
    

    元素节点的父元素必须死元素节点,属性节点和文本节点的自元素不允许是元素节点

    1. 自己实现一个insertAfter:把一个元素插到现有元素之后
    function insertAfter(newElement,targetElement){
      var parent = targetElement.parentNode;
      if(parent.lastChild == targetElement){
        parent.appendChild(newElement);
      }else{
        parent.insertBefore(newElement,targetElement.nextSibling)
      }
    }
    
    1. 自己实现一个 lastChildrenElement: 获取最后一个元素节点
    // * 通配符
    function lastChildElement(element) {
        var elementArray = element.getElementsByTagName('*');
        if (elementArray.length<1) return;
        return elementArray.pop();
    }
    
    1. js 设置和更新 css
    var para = document.getElementById("element");
    para.style.color = "black";
    para.style.font = "2em 'times',serif";
    

    相关文章

      网友评论

          本文标题:js 与 html杂记

          本文链接:https://www.haomeiwen.com/subject/mvswzxtx.html