Javascript 没有方法';val';在JQuery中

Javascript 没有方法';val';在JQuery中,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个HTML表单 <div class="field"> <label for="num1">Number 1</label> <input id="num1" type="text" /> </div> <div class="field"> <label for="num2">Number 2</label> <input id="num2" type="te

我有一个HTML表单

<div class="field"> 
  <label for="num1">Number 1</label> 
  <input id="num1" type="text" /> 
</div> 
<div class="field"> 
  <label for="num2">Number 2</label> 
  <input id="num2" type="text" /> 
</div> 
但它说:

Uncaught TypeError: Object #<HTMLInputElement> has no method 'val'

我做错了什么?

这是DOM对象而不是jquery对象。您可以使用
this.value
$(this.val()


这是DOM对象而不是jquery对象。您可以使用
this.value
$(this.val()

.val()
仅在jQuery对象上定义
返回没有此属性的DOM对象

要修复代码,请执行以下操作:

  • 使用
    $(this).val()
    ,或
  • 使用
    this.value
  • .val()
    仅在jQuery对象上定义
    返回没有此属性的DOM对象

    要修复代码,请执行以下操作:

  • 使用
    $(this).val()
    ,或
  • 使用
    this.value
  • 使用:
    $(this.val()
    而不是
    this.val()

    演示:

    使用:
    $(this.val()
    而不是
    this.val()


    演示:

    这是元素的对象,因此它将具有元素具有的所有属性,如like value、id等,而is val()可用于jQuery对象这是元素的对象,因此它将具有元素具有的所有属性,如like value、id等,而is val()可用于jQuery对象
    Uncaught TypeError: Object #<HTMLInputElement> has no method 'val'
    
    var one = this.val()
    
    $('#num1').change(function() {
      var one = $(this).val();
     $('#num2').val(one);
     });