zoukankan      html  css  js  c++  java
  • Jquery复习DAY2(jQuery 属性操作 jQuery 文本属性值 jQuery 元素操作)

    5. jQuery 属性操作

    5.1 设置或获取元素固有属性值 prop()

    所谓元素固有属性就是元素本身自带的属性,比如 <a> 元素里面的 href ,比如 <input> 元素里面的 type。
    1. 获取属性语法
    prop(''属性'')
    2. 设置属性语法
    prop(''属性'', ''属性值'')

    5.2 设置或获取元素自定义属性值 attr()

    用户自己给元素添加的属性,我们称为自定义属性。 比如给 div 添加 index =“1”。
    1. 获取属性语法
    attr(''属性'') // 类似原生 getAttribute()
    2. 设置属性语法
    attr(''属性'', ''属性值'') // 类似原生 setAttribute()
    改方法也可以获取 H5 自定义属性

    5.3 数据缓存 data()

    data() 方法可以在指定的元素上存取数据,并不会修改 DOM 元素结构。一旦页面刷新,之前存放的数据都将被移除。
    1. 附加数据语法
    data(''name'',''value'') // 向被选元素附加数据
    2. 获取数据语法
    date(''name'') // 向被选元素获取数据
    同时,还可以读取 HTML5 自定义属性 data-index ,得到的是数字型
     
     

    6. jQuery 内容文本值

    主要针对元素的内容还有表单的值操作。
    1. 普通元素内容 html()( 相当于原生inner HTML)
    html() // 获取元素的内容
    html(''内容'') // 设置元素的内容
    2. 普通元素文本内容 text() (相当与原生 innerText)
    text() // 获取元素的文本内容
    text(''文本内容'') // 设置元素的文本内容
    主要针对元素的内容还有表单的值操作。
    3. 表单的值 val()( 相当于原生value)
    val() // 获取表单的值
    val(''内容'') // 设置表单的值
     

    7. jQuery 元素操作

    (主要是遍历、创建、添加、删除元素操作)

    7.1 遍历元素

    jQuery 隐式迭代是对同一类元素做了同样的操作。 如果想要给同一类元素做不同操作,就需要用到遍历。
    语法1:
    $("div").each(function (index, domEle) { xxx; })
    1. each() 方法遍历匹配的每一个元素。主要用DOM处理。 each 每一个
    2. 里面的回调函数有2个参数: index 是每个元素的索引号; demEle 是每个DOM元素对象,不是jquery对象
    3. 所以要想使用jquery方法,需要给这个dom元素转换为jquery对象 $(domEle)
     
    jQuery 隐式迭代是对同一类元素做了同样的操作。 如果想要给同一类元素做不同操作,就需要用到遍历。
    语法2:
    $.each(object,function (index, element) { xxx; })
    1. $.each()方法可用于遍历任何对象。主要用于数据处理,比如数组,对象
    2. 里面的函数有2个参数: index 是每个元素的索引号; element 遍历内容
     

    7.2 创建元素

    语法:
    $(''<li></li>'');
    动态的创建了一个 <li>

    7.3 添加元素

    1. 内部添加
    element.append(''内容'')
    把内容放入匹配元素内部最后面,类似原生 appendChild。
    element.prepend(''内容'')
    把内容放入匹配元素内部最前面。
     
    2. 外部添加
    element.after(''内容'') // 把内容放入目标元素后面
    element.before(''内容'') // 把内容放入目标元素前面
    ① 内部添加元素,生成之后,它们是父子关系。
    ② 外部添加元素,生成之后,他们是兄弟关系。
     

    7.4 删除元素

    element.remove() // 删除匹配的元素(本身)
    element.empty() // 删除匹配的元素集合中所有的子节点
    element.html('''') // 清空匹配的元素内容
    ① remove 删除元素本身。
    ② empt() 和 html('''') 作用等价,都可以删除元素里面的内容,只不过 html 还可以设置内容。
     

     

     

    其他:

     

    购物车案列分析

    案例:购物车案例模块-全选分析

    ① 全选思路:里面3个小的复选框按钮(j-checkbox)选中状态(checked)跟着全选按钮(checkall)走。
    ② 因为checked 是复选框的固有属性,此时我们需要利用prop()方法获取和设置该属性。
    ③ 把全选按钮状态赋值给3小复选框就可以了。
    ④ 当我们每次点击小的复选框按钮,就来判断:
    ⑤ 如果小复选框被选中的个数等于3 就应该把全选按钮选上,否则全选按钮不选。
    ⑥ :checked 选择器 :checked 查找被选中的表单元素。

    案例:购物车案例模块-增减商品数量分析

    ① 核心思路:首先声明一个变量,当我们点击+号(increment),就让这个值++,然后赋值给文本框。
    ② 注意1: 只能增加本商品的数量, 就是当前+号的兄弟文本框(itxt)的值。
    ③ 修改表单的值是val() 方法
    ④ 注意2: 这个变量初始值应该是这个文本框的值,在这个值的基础上++。要获取表单的值
    ⑤ 减号(decrement)思路同理,但是如果文本框的值是1,就不能再减了

    案例:购物车案例模块-修改商品小计分析

    ① 核心思路:每次点击+号或者-号,根据文本框的值 乘以 当前商品的价格 就是 商品的小计
    ② 注意1: 只能增加本商品的小计, 就是当前商品的小计模块(p-sum)
    ③ 修改普通元素的内容是text() 方法
    ④ 注意2: 当前商品的价格,要把¥符号去掉再相乘 截取字符串 substr(1)
    ⑤ parents(‘选择器’) 可以返回指定祖先元素
    ⑥ 最后计算的结果如果想要保留2位小数 通过 toFixed(2) 方法
    ⑦ 用户也可以直接修改表单里面的值,同样要计算小计。 用表单change事件
    ⑧ 用最新的表单内的值 乘以 单价即可 但是还是当前商品小计

    案例:购物车案例模块-计算总计和总额

    ① 核心思路:把所有文本框里面的值相加就是总计数量。总额同理
    ② 文本框里面的值不相同,如果想要相加需要用到each遍历。声明一个变量,相加即可
    ③ 点击+号-号,会改变总计和总额,如果用户修改了文本框里面的值同样会改变总计和总额
    ④ 因此可以封装一个函数求总计和总额的, 以上2个操作调用这个函数即可。
    ⑤ 注意1: 总计是文本框里面的值相加用 val() 总额是普通元素的内容用text()
    ⑥ 要注意普通元素里面的内容要去掉¥并且转换为数字型才能相加

    案例:购物车案例模块-删除商品模块

    ① 核心思路:把商品remove() 删除元素即可
    ② 有三个地方需要删除: 1. 商品后面的删除按钮 2. 删除选中的商品 3. 清理购物车
    ③ 商品后面的删除按钮: 一定是删除当前的商品,所以从 $(this) 出发
    ④ 删除选中的商品: 先判断小的复选框按钮是否选中状态,如果是选中,则删除对应的商品
    ⑤ 清理购物车: 则是把所有的商品全部删掉

    案例:购物车案例模块-选中商品添加背景

    ① 核心思路:选中的商品添加背景,不选中移除背景即可
    ② 全选按钮点击:如果全选是选中的,则所有的商品添加背景,否则移除背景
    ③ 小的复选框点击: 如果是选中状态,则当前商品添加背景,否则移除背景
    ④ 这个背景,可以通过类名修改,添加类和删除类

     

    1.考点:jQuery 属性操作

    单选题

    关于jQuery,以下描述正确的是:

    A,prop() 可以获取和设置普通属性,但是表单属性 disabled / selected / checked 等就无能为力了。

    B,attr() 可以获取和设置普通属性,但是自定义属性就无能为力了。

    C, data()可以自定义属性,且不会出现在标签上。

    D,以上答案均正确。

    答案: C

    解析:

    A选项,prop() 可以操作表单属性 disabled / selected / checked等,且只适合他操作。

    B选项,attr() 可以自定义属性。

    难度: ☆☆☆

     

     

     

     

    2.考点:jQuery 文本属性值

    单选题

    下列方法,可以获取 input 中value属性的方法是:

    A,html()

    B,text()

    C,val()

    D,三个方法都不可以

    答案: C

    解析:

    A选项,类似 innerHTML 属性

    B选项,类似 innerText 属性

    C选项,类似value属性

    难度: ☆☆

     

     

    3.考点:jQuery 元素操作

    多选题

    下列 jQuery 的元素操作,说法正确的是:

    A,each() 可以遍历jQuery对象中的每一个元素,但是回调函数中的对象为DOM对象。

    B,jQuery 创建元素只有 $('标签') 这一种方法。

    C,append() 和 prepend() 功能完全相同,可以交换使用。

    D,remove() 和 html() 都可以删除元素。

    答案: AD

    解析:

    B选项,html() 识别标签,所以也可以用它创建元素。

    C选项,append() 和 prepend() 前者添加到父元素的最末尾,后者添加到最前面。

    难度: ☆☆☆

     

     

     

    4.考点:jQuery 的尺寸操作

    多选题

    以下说法,正确的是:

    A,height() 既可以获取 height 值,也可以设置 height 值。

    B,css('height')和height()获取的结果完全一样,只不过 height() 更简单一点儿。

    C,height() 和 innerHeight() 和 outerHeight() 方法获取的盒子属性不一样。

    D,以上说法都正确。

    答案: AC

    解析:

    B选项: css('height')获取的是字符串带有单位,height() 获取的是数值,无单位。

    难度: ☆☆☆

     

     

     

     

    5.考点: jQuery 位置操作

    多选题

    下列 jQuery 方法,描述错误的是:

    A,offset()方法用于获取盒子距离整个页面的距离,和父盒子是否有定位没有关系。

    B,position()获取的是距离所有父盒子中,嵌套自己最近的父盒子的距离,可以获取,也可以赋值。

    C,scrollTop()和scrollLeft()可用于获取盒子或者页面顶部和左侧的超出(或者卷起)部分。

    D,animate()可以让页面滑动到顶端或者指定位置,使用方法需要两个参数:animate( scrollTop, 值 ) ;

    答案: BD

    解析:

    B选项,position() 只能获取值,不能赋值。

    D选项,animate() 滑动页面的正确用法是传递一个对象:animate( {scrollTop: 值} )

    难度: ☆☆☆☆

     

     

     

    6.考点:代码题

    单选题

    运行一下代码,正确的输出结果是:

    <body>
    <style>
           div {
               height: 100px;
                200px;
               background-color: pink;
               margin: 10px;
               padding: 20px;
               border: 10px solid red;
          }
       </style>

       <div></div>
       <script src='http://code.jquery.com/jquery-latest.js'>
       <script>
           $(function() {
               console.log($("div").innerWidth());
          })
       </script>
    </body>

    A,120

    B,140px

    C,220

    D,240

    答案:D

    解析:

    1. innerWidth() / innerHeight() 获取设置元素 width和height + padding 大小

    2. 不带单位

    难度: ☆☆☆

     

     

     

    7.考点:综合题

    多选题

    下列说法,错误的是:

    A,attr()和prop()都可以操作普通属性,前者更适合自定义属性操作,后者更适合操作表单属性disabled、selected、checked等。

    B,html() 和text() 功能一样,可以替换使用。

    C,after() 是把调用者作为父元素,把参数作为子元素,放到调用者的最末尾。

    D,scrollTop() 操作页面时,只可以获取页面被卷去的部分,不能赋值修改页面的显示位置。

    答案:BCD

    解析:

    B选项,错误在于html()识别标签,text()不识别标签。

    C选项,错误在于after()方法是以兄弟节点的形式插入节点。

    D选项,scrollTop() 既可以获取页面被卷去的部分,也可以进行赋值修改。

    难度: ☆☆☆☆

     

  • 相关阅读:
    2019-06-09 学习日记 day30 JS
    2019-06-08 学习日记 day29 CSS
    2019-06-07 学习日记 day28 THML
    2019-06-06 Java学习日记 day27 反射
    2019-06-05 Java学习日记 day26 网络编程
    2019-06-04 Java学习日记 day25 多线程下
    Linux安装Nginx
    Linux安装MySQL
    Linux安装Redis
    Java Swing实战(五)表格组件JTable(1)
  • 原文地址:https://www.cnblogs.com/kangxinzhi/p/12513742.html
Copyright © 2011-2022 走看看