未定义的值.children()。each()

时间:2016-06-02 11:26:42

标签: javascript jquery pug

不知何故,我不断从我的代码中获取未定义的值。我可能错过了什么,但无法弄清楚是什么。

.orderform
 a(class="nav-button closebutton black", id="order")
  i(class="fa fa-times" aria-hidden="true")
 form(method="post")
  h1 Order Form
  p [...]
  .inputfield
   input(type="text", name="fname", autofocus) 
   label First Name
  .inputfield
   input(type="text", name="fname") 
   label Last Name
  .inputfield
   input(type="email", name="email") 
   label Email
  .inputfield
   input(type="text", name="subject") 
   label Subject
  .inputfield
   textarea(type="email", name="email")
   label Comment
  input(type="submit", value="order")

我可以根据需要添加HTML代码

的Javascript / Jquery的:

function toggleOrder(){
 $('a#order').click(function(){
  $(".orderform").delay(200).toggle("slide", {
   direction: "right",
   duration: 1000,
   easing: 'easeInOutQuint',
  });

输出未定义值的代码:

  $("form").children().each(function(){
   alert(this.value);
   //setTimeout(function(){
    //$(this).eq(i).addClass('shown');
   //}, 500 * (i+1) + 600);
  });
 });
}

因此,当我按下专用按钮时,它会提示未定义的值。我错过了什么或者我需要重写代码吗?

1 个答案:

答案 0 :(得分:0)

$(“form”)。children()返回这些元素:

h1
p
div.inputfield (5 items)
input[type="submit"]

所以你试图从这些元素中获取值。

如果需要向所有输入字段添加类,可以使用:

$(".orderform form .inputfield").each(function(i){
    var _this = $(this);
    setTimeout(function(i){
        _this.addClass('shown');
    }, 500 * (i+1) + 600);
});