<form id="f1">
<input type="text" name="userName" value="hh"><br>
<input type="password" name="password" value="123"><br>
<textarea name="description">NNN</textarea>
</form>然后,$(f1.elements).length的返回值为1(应该为3啊),不知道是什么原因.难道$(elems)接受数组时有什么问题么?

解决方案 »

  1.   

    $(f1).elements.length 的写法不对的,$(f1)返回的是一个jQuery对象,该对象没有elements属性的。谁知道原因的给个说法吧, 急/////
      

  2.   

    element不是标准写法,尽量少用
    $(f1).childNodes.length
      

  3.   

    但我只想取form下的input、select、textarea,这样的话,似乎只能写成
    $('input,select,textarea', f).length,不知道有没有更简单的写法呢?
      

  4.   

    $("#f1 input") 返回input
    $("#f1 select") 返回 select
    $("#f1 textarea")返回 textarea
      

  5.   

    用children()就可以
                $("#f1").children().each(function(){
                    if($(this).val() != null) alert($(this).val());
                });