JavaScript - DOM&BOM-打印银行流水

51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

JavaScript - DOM&BOM

document对象表示的是整个网页

  • document对象的原型链

  • HTMLDocument -> Document -> Node -> EventTarget -> Object.prototype -> null
    
    • 凡是在原型链上存在的对象的属性和方法都可以通过Document去调用

    • 部分属性:

    document.documentElement --> html根元素
    document.head --> head元素
    document.title --> title元素
    document.body --> body元素
    document.links --> 获取页面中所有的超链接
    ...
    

    >元素节点(element) {#%3E%E5%85%83%E7%B4%A0%E8%8A%82%E7%82%B9%EF%BC%88element%EF%BC%89}

    • 在网页中,每一个标签都是一个元素节点

    如何获取元素节点对象?

    1. 通过document对象来获取元素节点

    2. 通过document对象来创建元素节点

    通过document来获取已有的元素节点:

    document.getElementById() {#document.getelementbyid()}

    • 根据id获取一个元素节点对象
    <button id="btn">点我一下</button>
    <script>
    const btn = document.getElementById("btn")
    console.log(btn)
    </script>
    

    document.getElementsByClassName() {#document.getelementsbyclassname()}

    • 根据元素的class属性值获取一组元素节点对象
    <span class="s1">我是span</span>
    <span class="s1">我是span</span>
    <span class="s1">我是span</span>
    <span class="s1">我是span</span>
    <span class="s1">我是span</span>
    
    \<script\>
    
    
    // 返回的是一个类数组对象,该方法返回的结果是一个实时更新的集合
    // 当网页中新添加元素时,集合也会实时的刷新。
    
    
    const spans = document.getElementsByClassName("s1")
    
    
    console.log(spans) // HTMLCollection(5) \[span.s1, span.s1, span.s1, span.s1, span.s1\]
    
    
    for (let i = 0; i \< spans.length; i++) {
    spans\[i\].innerText = "我是span"+i
    }
    
    `</script>`
    

    document.getElementsByTagName() {#document.getelementsbytagname()}

    • 根据标签名获取一组元素节点对象
    <div>我是div</div>
    <div>我是div</div>
    <div>我是div</div>
    <div>我是div</div>
    <div>我是div</div>
    
    \<script\>
    
    
    // 返回的结果是可以实时更新的集合
    const divs = document.getElementsByTagName("div")
    
    
    // document.getElementsByTagName("") 获取页面中所有的元素
    const divs = document.getElementsByTagName("")
    
    `console.log(divs) // HTMLCollection(5) [div, div, div, div, div]
    </script>`
    

    document.getElementsByName() {#document.getelementsbyname()}

    • 根据name属性获取一组元素节点对象
    <form>
        <input type="text" name="username">
        <input type="radio" name="gender" value="male"> 男
        <input type="radio" name="gender" value="female"> 女
    </form>
    
    \<script\>
    
    
    // 返回一个实时更新的集合,主要用于表单项。
    const genderInput = document.getElementsByName("gender")
    
    `console.log(genderInput) // NodeList(2) [input, input]
    </script>`
    

    document.querySelectorAll() {#document.queryselectorall()}

    • 根据选择器去页面中查询元素
    <div>我是div</div>
    <div>我是div</div>
    <div>我是div</div>
    
    \<script\>
    
    
    // 会返回一个类数组(不会实时更新)
    const divs2 = document.querySelectorAll("div")
    
    `console.log(divs2) // NodeList(3) [input, input,input]
    </script>`
    

    document.querySelector() {#document.queryselector()}

    • 根据选择器去页面中查询第一个符合条件的元素
    <div>我是div</div>
    <div>我是div</div>
    
    \<script\>
    
    
    // 会返回一个类数组(不会实时更新)
    const div = document.querySelector("div") // .xx \| #xx
    
    
    console.log(divs2) // NodeList(2) \[input,input\]
    
    `</script>`
    

    创建一个元素节点

    document.createElement() {#document.createelement()}

    • 根据标签名创建一个元素节点对象
    const h2 = document.createElement("h2") // 创建了H2,但未添加
    

    >元素的属性和方法 {#%3E%E5%85%83%E7%B4%A0%E7%9A%84%E5%B1%9E%E6%80%A7%E5%92%8C%E6%96%B9%E6%B3%95}

    <div id="box1">我是box1 </div>
    
    \<script\>
    
    
    const box1 = document.getElementById("box1")
    
    
    cosole.log(box1.proto)
    
    `</script>`
    

    • div的原型链
    HTMLDivElement -> HTMLElement -> Element -> Node -> ...
    

    element.childNodes {#element.childnodes}

    • 获取当前元素的子节点(会包含空白的子节点)
    <div id="box1">
        我是box1
        <span class="s1">我是s1</span>
        <span class="s1">我是s1</span>
    </div>
    
    \<script\>
    
    
    const box1 = document.getElementById("box1")
    
    
    const cns = box1.childNodes
    
    
    console.log(children.length) // 输出:5 包含空格
    
    `</script>`
    

    element.children {#element.children}

    • 获取当前元素的子元素
    <div id="box1">
        我是box1
        <span class="s1">我是s1</span>
        <span class="s1">我是s1</span>
    </div>
    
    \<script\>
    
    
    const box1 = document.getElementById("box1")
    
    
    const children = box1.children
    
    
    console.log(children.length) // 输出:2(2个span)
    
    `</script>`
    

    element.firstElementChild {#element.firstelementchild}

    • 获取当前元素的第一个子元素
    <p>Hello world! This is HTML5 Boilerplate.</p>
    <div id="box1">
        我是box1
        <span class="s1">我是s1</span>
        <span class="s1">我是s1-2</span>
    </div>
        <h1>hello,world</h1>
    
    \<script\>
    
    
    const box1 = document.getElementById("box1")
    
    
    console.log(box1.firstElementChild) //输出: \<span class="s1"\>我是s1\</span\>
    
    `</script>`
    

    element.lastElementChild {#element.lastelementchild}

    • 获取当前元素的最后一个子元素
    console.log(box1.lastElementChild) //输出: <span class="s1">我是s1-2</span>
    

    element.nextElementSibling {#element.nextelementsibling}

    • 获取当前元素的下一个兄弟元素
    console.log(box1.nextElementSibling) //输出: <h1>hello,world</h1>
    

    element.previousElementSibling {#element.previouselementsibling}

    • 获取当前元素的前一个兄弟元素
    console.log(box1.previousElementSibling) //输出: <p>Hello world! This is HTML5 Boilerplate.</p>
    

    element.parentNode {#element.parentnode}

    • 获取当前元素的父节点
    console.log(box1.parentNode) //输出: <body>...</body>
    

    element.tagName {#element.tagname}

    • 获取当前元素的标签名
    console.log(box1.tagName) //输出: DIV
    

    >文本节点(Text) {#%3E%E6%96%87%E6%9C%AC%E8%8A%82%E7%82%B9%EF%BC%88text%EF%BC%89}

    在DOM中,网页中所有的文本内容都是文本节点对象。

    可以通过元素来获取其中的文本节点对象,但是我们通常不会这么做。

    我们可以直接通过元素去修改其中的文本

    修改文本的三个属性

    element.textContent {#element.textcontent}

    • 获取或修改元素中的文本内容
    <div id="box1">
        <span style="text-transform: uppercase;">我是box1</span>
    </div>
    
    \<script\>
    
    
    // 获取的是标签中的内容,不会考虑css样式
    const box1 = document.getElementById("box1")
    
    
    box1.textContent = "新的内容"
    
    `</script>`
    

    element.innerText {#element.innertext}

    • 获取或修改元素中的文本内容
    <script>
    
    // innerText获取内容时,会考虑css样式
    // 通过innerText去读取CSS样式,会触发网页的重排(计算CSS样式)
    const box1 = document.getElementById("box1")
    
    
    box1.innerText = "新的内容"
    
    
    // 当字符串中有标签时,会自动对标签进行转义
    box1.innerText = "\<li\>我是li\</\>" //  \<li\> --\> \&lt;li\&gt;
    
    `</script>`
    

    element.innerHTML {#element.innerhtml}

    • 获取或修改元素中的html代码
    <script>
    
    // 可以直接向元素中添加html代码
    const box1 = document.getElementById("box1")
    
    
    box1.innerHTML = "XXX"
    
    `// innerHTML插入内容时,有被xss注入的风险
    box1.innerHTML = "<、script src='https://sss/sss.js'></script>"
    </script>`
    

    >属性节点(Attr) {#%3E%E5%B1%9E%E6%80%A7%E8%8A%82%E7%82%B9%EF%BC%88attr%EF%BC%89}

    在DOM也是一个对象,通常不需要获取对象而是直接通过元素即可完成对其的各种操作。

    如何操作属性节点:

    方式一 {#%E6%96%B9%E5%BC%8F%E4%B8%80}

    • 读取:元素.属性名(class属性需要使用 className 来读取)

    读取一个布尔值时,会返回 true 或 false (如 disabled)

    • 修改:元素.属性名 = 属性名
     <input disabled="disabled" type="text" name="username" value="admin">
    
    \<script\>
    
    
    const input = document.getElementsByName("username")\[0\]
    
    
    const input2 = document.querySelector("\[name=username\]")
    
    
    console.log(input) // console.log(input.type)
    
    
    input.name = "biu" // 修改:元素.属性名 = 属性名
    
    `</script>`
    

    方式二 {#%E6%96%B9%E5%BC%8F%E4%BA%8C}

    • 读取:元素.getAttribute(属性名)

    • 修改:元素.setAttribute(属性名, 属性值)

    • 删除:元素.removeAttribute(属性名)

     <input disabled="disabled" type="text" name="username" value="admin">
    
    \<script\>
    
    
    const input = document.getElementsByName("username")\[0\]
    
    
    const input2 = document.querySelector("\[name=username\]")
    
    
    input.getAttribute("name") // 读取:元素.getAttribute(属性名)
    
    
    input.setAttribute("name","大王") // 修改:元素.setAttribute(属性名, 属性值)
    input.setAttribute("disabled",true)
    
    
    input.removeAttribute("disabled") // 删除:元素.removeAttribute(属性名)
    
    `</script>`
    

    事件(Event) {#%E4%BA%8B%E4%BB%B6%EF%BC%88event%EF%BC%89}

    事件就是用户和页面之间发生的交互行为。例如:点击按钮、鼠标移动、双击按钮、敲击键盘、松开按键....

    可以通过为时间绑定响应函数(回调函数),来完成和用户之间的交互。

    绑定响应函数的方式: {#%E7%BB%91%E5%AE%9A%E5%93%8D%E5%BA%94%E5%87%BD%E6%95%B0%E7%9A%84%E6%96%B9%E5%BC%8F%EF%BC%9A}

    • 直接在元素的属性中设置
    <button id="btn" onclick="alert('你点我干嘛~')">点我一下</button>
    
    • 为元素指定属性设置(回调函数)来绑定事件 (一个事件只能绑定一个响应函数)
    <script>
    // 获取到按钮对象
    const btn = document.getElementById("btn")
    // 为按钮对象的事件属性设置响应函数
    btn.onclick = function(){
      alert("你点我干嘛~")
    }
    </script>
    
    • 可以通过元素 addEventListener( )方法来绑定事件 (可绑定多个,会依次执行)
    <script>
    // 通过元素 addEventListener( )方法来绑定事件
    btn.addEventListener("click", function(){
      alert("哈哈哈哈~")
    })
    </script>
    

    赞(0)
    未经允许不得转载:工具盒子 » JavaScript - DOM&BOM

    相关内容推荐

    个人建设银行流水网上打印民生银行流水贷额度银行1年的流水误工费可以按银行流水计算吗中国银行打流水要银行卡吗贷35万银行流水要多少银行流水纸的厚度房屋贷款要打银行流水么中国银行一天的流水是多少银行卡挂失后会可以查流水吗农业银行公司打印流水银行流水会体现收入方式吗怎样查一个银行卡的流水账银行流水 新工作没带银行卡可以打印流水吗异地银行流水最长打印多久银行补卡流水银行卡可以查几年的流水银行流水伪造贷款银行卡年流水 多少要上报天津银行流水代办银行流水收入多 发票少异地是否可以查询银行卡流水银行流水一定是增长的吗招商银行流水节假日西安银行流水账单查询银行流水如何应用银行流水账单有法律效力吗起诉银行流水造假银行贷款面签之后查流水工商银行流水打印步骤银行可打多久的流水贷款哪家银行不看流水银行流水做成微信文件银行查流水账可以设置虚开银行流水购房银行流水只打收入监事查询银行流水中国银行查询流水账单查询农业银行借记卡流水查询买房用父母的银行流水可以吗银行的流水号代表了什么一天存10万算不算银行流水银行贷款买房只有流水结婚证办理银行流水怎么打印公积金流水去哪家银行贷款银行打印流水单能加盖公章吗房贷银行卡流水帐怎么算银行薪资流水如何办理银行查前几年的卡流水收费吗购买贷款银行转出流水购房前银行流水账金风科技会索要银行流水么拉银行流水网点监察 银行流水银行流水账单可以是信用卡吗银行流水0502是什么不是一个开户行能查银行流水吗司法局有权查询银行流水吗银行卡流水余额什么意思增加银行流水有什么意义银行卡年流水 多少要上报襄樊市宜城市流水镇农商银行农商银行流水章是黑色的妻子可以打印银行流水银行流水负数的原因工商银行流水严格吗星期天中国建设银行打印流水浦发银行贷款是否需要流水自助流水机银行流水导出银行的流水怎么求和银行卡跑多少流水会被风控如何去银行打印流水盖公章商贷银行流水不够加父母流水已销户的银行卡能查到流水账吗去银行拉流水和征信一样蚌埠银行流水可以做账单吗汽车贷款对银行流水有什么要求查询明细和银行流水账一样吗银行流水能看出转给谁银行流水两千六能贷款多少钱银行流水一天多刷几单可以吗银行流水账可作借钱凭证吗新卡可以做假银行流水吗冰岛签证几个月银行流水社保查银行流水号光大银行app怎么查流水银行流水币种036申根银行流水要多久微信流水银行为什么不认买房付全款需要银行流水吗法院能查任何人的银行流水吗户口本学历银行卡流水照片还没通过面试就要银行流水买房置业顾问介绍银行搞流水银行流水过大会被封卡吗流水要同一家银行的吗农业银行网银如何导流水公司银行流水很大银行贷款微信里的流水可以吗公司对公账户需要查银行流水吗银行流水那里可以打银行流水字体大全银行流水差能办理二手房按揭吗云南农商银行流水账公租房审查银行卡流水邮政银行流水手机怎么查询银行流水账单明细表能查吗银行卡流水劳动仲裁证明什么个人打往年银行流水需要钱么银行流水能看出转给谁查看个人的银行流水中信银行交易流水验真借款银行转账流水算吗办签证 需要银行流水银行看就流水是什么意思银行卡流水怎么查到5年前买二手房怎样去银行打流水银行流水签证盖章吗银行流水打出来后房子多久银行流水不好怎么贷款应聘 银行流水ps行吗存折低保到账有银行流水单吗一年流水去哪个银行打打银行流水在哪里打的花钱查银行流水吗民生银行的流水数据浦发银行做假流水新版工商银行流水号查询签证银行流水没有收入银行流水不够可以提前存大额车贷没有银行卡流水农商银行可以查几年的流水运城银行流水翻译和公证异地可以打银行流水证明浦发银行怎么查信用卡流水银行卡流水多额度高什么银行流水容易贷买房贷款流水哪个银行好拿别人的银行卡可以拉流水吗买房贷款后可以更改银行流水吗银行贷款流水很少怎么整银行卡作废了还能查到流水吗假工资证明 银行流水银行流水125万会判刑吗唐小僧的银行流水银行流水分日期打吗按揭买房贷款银行流水要多久别人为什么能查到银行流水账还款银行流水有效期一个月车贷都需要银行流水吗银行卡收入流水明细账怎么打贷款300万银行流水怎样做英国探亲签证 银行流水法院审理银行流水流水银行公章工行银行流水账电子章办理按揭不用银行流水民生银行 公司银行流水银行流水与商贷电脑可以查银行流水账快进快出银行流水被冻结自己存钱算银行流水吗贷款存款在银行多长时间算流水本地没有使用的银行怎么打流水中信银行贷款查流水吗中介银行流水多钱农业银行卡丢失可以打流水吗网银如何查看银行流水账非吸被判后会查银行流水退休工资银行流水会提现吗深圳农村商业银行工资流水企业银行卡流水账单明细英国签证银行流水流水新版的银行卡能查到流水吗销户后银行卡流水银行查询流水号要多久银行存一天算流水吗银行怎么审批收入流水离婚能查对方银行流水吗银行流水小额太多捷克银行流水打5万行吗建设银行流水章模版非法提供银行流水华兴村银行怎么查流水哈尔滨能办银行流水吗南京银行app怎么查流水账户销户了审计怎么查银行流水买房在中国银行贷款流水银行苹果应用内支付的流水hr会查银行流水的真伪吗银行流水个人同业清算6有银行流水和证人可以起诉吗企业网银银行打印流水用友怎么查银行流水银行流水核对人体有影响吗南通农村商业银行工资流水银行卡洗流水判刑标准农商银行定期存款没有流水打吗取款机能打近半年的银行流水

    合作伙伴

    打印银行流水

    龙岗网络公司
    深圳网站优化
    龙岗网站建设
    坪山网站建设
    百度标王推广
    天下网标王
    SEO优化按天计费
    SEO按天计费系统