• select下拉框之JS/JQuery详细操作


    下拉框的操作一直是我比较困扰的地方,以下将分别对js和jquery的操作进行比较性的说明。总结中也学习到了一些JQuery方法的使用技巧。

    var sel_obj = 下拉框DOM对象

    var $sel_obj = 下拉框JQuery对象

    一、移除


    1. 移除所有项:

      sel_obj.options.length = 0;

      $sel_obj.empty();

    .empty()” 从被选元素移除所有内容,包括所有文本和子节点,保留其在dom中所占的位置

    2. 移除下拉框中的一项:
      sel_obj.options.remove(index); 

    index”为下拉框选项的索引值,若0索引项移出(自上而下),那么1索引项的索引会变为0,后面的索引依次向前推进

      移除所有项:(注意:倒循环)  

    for(len=sel_obj.options.length, var i=len-1, ;i>=0;i--){
    
        sel_obj.options.remove(i); 
    }

      $sel_obj.find("option").eq(index).remove();

    .remove()” 从被选元素移除所有内容,包括所有文本和子节点,保留其在dom中所占的位置,这点与“.empty()”有所区别

    二、添加


      sel_obj.options.add(new Option("text", "value"));

    text”为下拉框选项的显示文本,“value”为下拉框选项的值,在下拉框末尾添加,索引值最大

      $sel_obj.append("<option value='value'>text</option>");

      $sel_obj.prepend("<option value='value'>text</option>");

    “.append()”在下拉框末尾添加,添加后此项索引值最大; “.prepend()”在下拉框的首部添加,添加后此项索引值为0

    四、获取


    1. 获取下拉框选中项的值:
      sel_obj.options[sel_obj.selectedIndex].value;

      $sel_obj.val();

    2. 获取下拉框选中项的文本:
      sel_obj.options[sel_obj.selectedIndex].innerText;

      $sel_obj.find("option:selected").text();

    option:selected”为选中项,“option:first”为首项(索引值为0),“option:last”为末项(索引值最大)

    3. 获取下拉框选中项的索引:
      sel_obj.selectedIndex;


      $sel_obj.prop("selectedIndex");

    .prop()”应该被用来处理boolean attributes/properties以及在html(比如:window.location)中不存在的properties。其他所有的attributes(在html中你看到的那些)可以而且应该继续使用“.attr()”方法来进行操作。

       例如:

    <select id="selId">
        <option value="a">AAA</option>
        <option value="b">BBB</option>
        <option value="c">CCC</option>
        <option value="e" selected="selected">EEE</option>
    </select>

      结果为3。

    五、判断


    1. 判断下拉框是否选中:

      sel_obj.selectedIndex > -1 ? //选中 //没有选中;

      $sel_obj.prop("selected") ? //选中 //没有选中;

    ★不是每一次努力都会有收获,但是每一次收获都必须努力,这是一个不公平的不可逆转的命题★
  • 相关阅读:
    css自定义字体
    nuxt按需引入 element-UI、自定义主题色(终极按需引入)
    Vue 拖拽组件 vuedraggable 和 awe-dnd
    css 0.5px
    react取消监听scroll事件
    vue使用jsonp
    nuxt使用QRCode.js 生成二维码
    阻止冒泡
    nuxt.js配置BASE_URL(基本域名)和NODE_ENV(环境变量)
    Numpy基础学习笔记1
  • 原文地址:https://www.cnblogs.com/lishaofei/p/3012786.html
Copyright © 2020-2023  润新知