刷题总结9.3

内联(非块状)元素可以定义宽度和高度

  • block:将行级别元素转为块级别元素

  • inline:将块级别元素转为行级别元素

  • inline-block:不能自动换行,但是可以设置宽高

行级元素(内联元素)

  • 元素特点:

内容决定所占位置
不可以通过css改变宽高

  • 语法格式:
display:inline 
  • 代表元素:
<span> <strong> <em> <a> <del>

块级元素

  • 元素特点:

独占一行
可以通过css改变宽高

  • 语法格式:
display: block 
  • 代表元素:
<div> <p> <ul> <li> <ol> <form> <address>

行级块元素

  • 元素特点:
    内容决定所站位置
    可以通过css改变宽高

  • 语法格式:

display: inline-block 
  • 代表元素:
<img>

container.clientWidth

  • ele.clientWidth = 宽度 + padding

  • ele.offsetWidth = 宽度 + padding + border

  • ele.scrollTop = 被卷去的上侧距离

  • ele.scrollHeight = 自身实际的高度(不包括边框)

nth-child(n)使用注意

:nth-child(n) ---->选中某个元素,该元素必须是某个父元素下的第n个子元素;

p:nth-child(n) ---->选中p元素,且该p元素必须是某个父元素下的第n个子元素

注意:n是从1开始的

如下代码,p:nth-child(1),只会选中第二个div中第一个子元素p;

不会选中第一个div中的第一个p,因为第一个div中第一p元素不是第一个子元素

<style>
    p:nth-child(1){
        color:red
    }        
</style>
<div style="border:1px solid">
    <span>div span中第一个段落。</span>
    <p>div 中第一个段落。</p>
    <p>div 中的最后一个段落。</p>
</div><br>
 
<div style="border:1px solid">
    <p>另一个 div 中第一个段落。</p>
    <p>另一个 div 中的最后一个段落。</p>
</div>

正方向范围

li:nth-child(n+6)

选中从第6个开始的子元素

负方向范围

:nth-child(-n+9)

选中从第1个到第9个子元素。使用 :nth-child(-n+9) ,就相当让你选中第9个和其之前的所有子元素

获取 input 节点的正确方法是( )

<form class="file" name="upload">
<input id="file" name="file" />
</form>

A:返回所有元素节点列表里面的第1个应该写成
document.querySelectorAll(’#file’)[0]

B:id选择器,id是唯一的
document.getElementById(‘file’)

C:标签名选择器
document.getElementByTagName(‘input’)[0]

在标准的 JavaScript 中, Ajax 异步执行调用基于Event和callback才能实现

JavaScript是单线程的,浏览器实现了异步的操作,整个js程序是事件驱动的,每个事件都会绑定相应的回调函数

匿名函数具有全局作用域

var myObject = {
    foo: "bar",
    func: function() {
        var self = this;
        console.log(this.foo);   
        console.log(self.foo);   
        (function() {
            console.log(this.foo);   
            console.log(self.foo);   
        }());
    }
};
myObject.func();
依次输出  bar  bar  undefined bar

1.第一个this.foo输出bar,因为当前this指向对象myObject。
2.第二个self.foo输出bar,因为self是this的副本,同指向myObject对象。
3.第三个this.foo输出undefined,因为这个IIFE(立即执行函数表达式)中的this指向window。
4.第四个self.foo输出bar,因为这个匿名函数所处的上下文中没有self,所以通过作用域链向上查找,从包含它的父函数中找到了指myObject
对象的self。

理解关键:方法/函数是由谁(对象) 调用 的,方法/函数内部的 this 就指向谁(该对象);

注意:被谁调用,不是处于谁的作用域,即使在作用域

1、func是由myObject调用的,this指向 myObject。
2、self指向myObject,相当于 myObject的this的副本。
3、这个立即执行匿名函数表达式(IIFE)是由window调用的,this指向 window 。
4、IIFE的作用域处于myObject.func的作用域中,本作用域找不到self变量,沿着作用域链向上查找self变量,找到了指向 myObject对象的 self。

不支持冒泡事件

常见的不支持冒泡事件有
①focus
②blur
③mouseenter
④mouseleave
⑤load
⑥unload
⑦resize

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值