zoukankan      html  css  js  c++  java
  • jQuery操作文本,样式,属性

    操作DOM1
      为什么用jQuery
        操作DOM节点啦!
        不需要考虑浏览器兼容性问题,全部统一操作!

    修改Text和HTML
      jQuery对象的text():返回节点的文本
      html():原始HTML文本

        $('#test-ul li[name=book]').text(); //
        $('#test-ul li[name=book]').html(); //

        text()不传参数:获取文本
        text()传参数:设置文本
      html()类似
        $('#test-ul li[name=book]').text('<span style="color: red">JavaScript</span>'); // 'Java & JavaScript'
        $('#test-ul li[name=book]').html('JavaScript & ECMAScript');
    jQuery对象有“批量操作”的特点
      一个jQuery对象就是一个DOM对象数组,Query对象调用方法,会作用在数组中的每个DOM节点上
      $('#test-ul li').text('JS'); // 两个节点都变成了JS

    修改CSS   

      css()方法将作用于DOM节点的style属性,具有最高优先级。
      css('name', 'value')
      $('#test-css li.dy>span').css('background-color', '#ffd351').css('color', 'red');
        注意,链式调用的原因:jQuery对象的所有方法都返回一个jQuery对象(可能是新的也可能是自身)
      jQuery对象的css()方法可以这么用:
        var div = $('#test-div');
        div.css('color'); // '#000033', 获取CSS属性
        div.css('color', '#336699'); // 设置CSS属性
        div.css('color', ''); // 清除CSS属性

    jQuery操作class
      var div = $('#test-div');
      div.hasClass('highlight'); // false, class是否包含highlight
      div.addClass('highlight'); // 添加highlight这个class
      div.removeClass('highlight'); // 删除highlight这个class

    显示和隐藏DOM
      var a = $('a[target=_blank]');
      a.hide(); // 隐藏
      a.show(); // 显示
      注意,隐藏DOM节点并未改变DOM树的结构,它只影响DOM节点的显示。这和删除DOM节点是不同的

    获取DOM信息
      jQuery对象的若干方法,我们直接可以获取DOM的高宽等信息,而无需针对不同浏览器编写特定代码:

    // 浏览器可视窗口大小:
      $(window).width(); // 800
      $(window).height(); // 600

    // HTML文档大小:
      $(document).width(); // 800
      $(document).height(); // 3500

    // 某个div的大小:
      var div = $('#test-div');
      div.width(); // 600
      div.height(); // 300
      div.width(400); // 设置CSS属性 400px,是否生效要看CSS是否有效
      div.height('200px'); // 设置CSS属性 height: 200px,是否生效要看CSS是否有效

    attr():
      不传参数:获取属性
      传参数:设置参数
      removeAttr():删除参数

      var div = $('#test-div');
      div.attr('data'); // undefined, 属性不存在
      div.attr('name'); // 'Test'
      div.attr('name', 'Hello'); // div的name属性变为'Hello'
      div.removeAttr('name'); // 删除name属性
      div.attr('name'); // undefined、

        但是HTML5规定:有一种属性在DOM节点中可以没有值(单选框的“checked”),只有出现与不出现两种
      attr()和prop()对于属性checked处理有所不同:
        var radio = $('#test-radio');
        radio.attr('checked'); // 'checked'
        radio.prop('checked'); // true
          prop()返回值更合理一些。不过,用is()方法判断更好:

        radio.is(':checked'); // true
          类似的属性还有selected,处理时最好用is(':selected')。

    操作表单
      对于表单元素,val()
      不传参数:获取value值
      传参数:设置value值
    /*
    <input id="test-input" name="email" value="">
    <select id="test-select" name="city">
    <option value="BJ" selected>Beijing</option>
    <option value="SH">Shanghai</option>
    <option value="SZ">Shenzhen</option>
    </select>
    <textarea id="test-textarea">Hello</textarea>
    */
      var
        input = $('#test-input'),
        select = $('#test-select'),
        textarea = $('#test-textarea');

        input.val(); // 'test'
        input.val('abc@example.com'); // 文本框的内容已变为abc@example.com

  • 相关阅读:
    前端使用crypto.js进行加密
    浅谈 Angular 项目实战
    YAML快速入门
    Preloading Your ASP.NET Applications
    ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
    HBase
    hdfs知识点《转》
    Flume概念与原理、与Kafka优势对比《转》
    scrapy 快速入门
    比较好的算法网站
  • 原文地址:https://www.cnblogs.com/xuanjian-91/p/10322587.html
Copyright © 2011-2022 走看看