看书上又段代码,功能是在<select>标签下添加<option>:
var option = new Option(optionData.caption, optionData.value);      //value是<option>的value值,caption是显示内容
this.add(option);   //this代表<select>的DOM问题:
1、new Option(optionData.caption, optionData.value);  这个类是自己创建的类吧?那往里传参数是什么意思?
2、this.add(option);   使用这个怎么就能把<option>添加到<select>中?我看了add()的手册,没看明白~谢谢

解决方案 »

  1.   

    有些函数是DOM自己就有。。我们拿来用就行。。不用太深入研究。。
      

  2.   


    var option = new Option("text","value");
    document.getElementsByTagName("select")[0].add(option);这样应该会明白些 ,而且这跟jquery也没有关系 。
      

  3.   

    那add()函数可以理解成就是将一个DOM元素加到另一个DOM元素中吗?
    还有就是没明白new Option()是啥意思Option是JS自带的对象吗?
      

  4.   

    var option = new Option(optionData.caption, optionData.value); 
    这是创建一个option 第一个参数是option显示出来的text 第二个是option真正的value
    你这里的this明显不是DOM对象是jquery对象 
    DOM对象的话是this.options.add(option);
    jquery封装过后才有.add方法 但是你这样写能加到select里?
      

  5.   

    this可以是dom对象,因为select自带add方法,msdn上有叙述。
      

  6.   

    $('select').append('option') 
    可以用append 
      

  7.   

    这里的add方法貌似不是jq的,jq的add方法是对当前jq集合添加新jq元素而已,不是对dom或者jq对象的操作。
    这里的add方法应该是dom的原生方法
      

  8.   

    谢谢大家的回答,再问一下,Option这个类是JS定义好的类了吗?那是所有标签都有相应的类吗?为什么在JS手册上查不到啊??
      

  9.   

    不是所有的都有 。
    var op =  document.createElement("option"); 你可以这样创建元素 。
      

  10.   

    Option是html dom对象,js可以直接利用dom对象动态修改网页。
      

  11.   

    HTML DOM
      

  12.   

    add没研究过,我都是这样做的
    $("#select").append('<option value=""  selected="selected">fgdf</option>');