zoukankan      html  css  js  c++  java
  • Python学习笔记Day16

    【DOM】Document Object Model

    1、找到标签

    a. 直接找

    document.getElementById('i1')             根据ID获取一个标签     ->> <div><div/>
    document.getElementsByName('n1')          根据name属性获取标签集合(列表)
    document.getElementsByClassName('div')    根据class属性获取标签集合
    document.getElementsByTagName('c1')       根据标签名获取标签集合
    

    b. 间接找

    tag = document.getElementById('i1')
    tag.parentElement           // 父节点标签元素
        children                // 所有子标签
        firstElementChild       // 第一个子标签元素
        lastElementChild        // 最后一个子标签元素
        nextElementSibling     // 下一个兄弟标签元素
        previousElementSibling  // 上一个兄弟标签元素
    

    2、操作标签

    a. innerText

    标签.innerText        获取标签中的文本内容
    标签.innerText = ""   对标签内部文本进行重新赋值
    

    b. className、classList

    标签.className = 'c1'       直接整体做操作
    标签.classList              获取样式列表
    标签.classList.add('c1')    添加指定样式
    标签.classList.remove('c1') 删除指定样式
    

    c. 绑定点击事件

    <div onclick='func();'>点我</div>
    <div onfocus='func();'>点我</div>
    <div onblur='func();'>点我</div>
    <script>
        function func(){
    
        }
    </script>
    

    d. checkbox

    获取值
    checkbox对象.checked
    设置值
    checkbox对象.checked = true
    

    3、文本操作

    .innerText   只获取文本,过滤标签,赋值时识别为字符串
    .innerHTML   全部内容
    .value      input标签取值赋值
                textarea标签取值赋值
                select标签获取赋值选中值
                    (obj.selectedIndex = 1)
    

    4、绑定事件

    onclick
    onfocus
    onblur
    新版HTML已支持placeholder="请输入关键字"自动实现onfocus和onblur功能,并且不用写js代码
    

    5、样式操作

    .classList #对样式整体进行操作
    .style.color ='red';  #直接在标签上添加style
    

    6、属性操作

    .setAttribute('name','alex')    #设置属性
    .removeAttribute('value')   #移除属性
    .attributes     #获取所有索引与属性名的k-v字典
    

    7、创建标签

    // 对象方式
    var tag = document.createElement('a');
    tag.innerText = "wupeiqi";
    tag.className = "c1";
    tag.href = "http://www.cnblogs.com/wupeiqi";
    # var p = '<p></p>'
    # p.appendChild(tag);
    document.getElementById('i1').appendChild(tag)  # 传入对象
    // 字符串方式
    var tag = "<a class='c1' href='http://www.cnblogs.com/wupeiqi'>wupeiqi</a>";
    document.getElementById('i1').insertAdjacentHTML('beforeEnd',tag);  # 传入字符串
        //注意:第一个参数只能是'beforeBegin'、 'afterBegin'、 'beforeEnd'、 'afterEnd'
    

    8、提交表单

    配合onclick()可以使任何标签点击提交
    document.getElementById('i1').submit()
    

    9、弹窗,定时,刷新

    console.log                 输出框
    alert                       弹出框
    confirm                     确认框,返回True或False
    // URL和刷新
    location.href               获取URL
    location.href = "url"       重定向
    location.reload()           重新加载
    // 定时器
    obj = setInterval({},5000)  多次定时器
    clearInterval(obj)          清除多次定时器
    setTimeout({},5000)         单次定时器
    clearTimeout()              清除单次定时器
    

    10、事件

    样式 结构 行为 相分离
    在JS里找到标签,然后.onclick = "function(){}"
    this 指针,指向当前调用的对象

    • 1.定义时this绑定:

        <input type='button' onclick='ClickOn(this)'>   #直接传入this,指向当前调用的对象
        function ClickOn(self){
            //self 代指当前点击的标签
        }
      
    • 2.调用时this绑定:

        <input id='i1' type='button'>
        document.getElementById('i1').onclick = function(){
            //this 代指当前点击的标签
        }
      
    • 3.事件监听绑定:

        tag1.addEventListener('click',function(){},false)    #true捕捉,false冒泡
        事件的冒泡(向上)和捕捉(向下)
  • 相关阅读:
    洛谷P3376 【模板】网络最大流
    bzoj 4598: [Sdoi2016]模式字符串
    JAVA类(下)
    2019DDCTF部分Writeup
    Atom配置(VIM党) · iuunhao
    Tips
    rsync auth failed on module xxx
    基于mykernel完成时间片轮询多道进程的简单内核
    机器学习技法笔记(2)-Linear SVM
    css之制作三角形
  • 原文地址:https://www.cnblogs.com/JeromeLong/p/13246155.html
Copyright © 2011-2022 走看看