【问题标题】:How do I make a jquery id selection equal to this inside a function?如何在函数内使 jquery id 选择等于这个?
【发布时间】:2014-08-02 02:31:31
【问题描述】:

为什么我在尝试 make $("#select-province") that.value 时会出错?

function updateCities(that){
   console.log(that.value);
}

$(document).ready(function(){
      updateCities($("#select-province"));
});

【问题讨论】:

  • 请说明您遇到的错误
  • $("#select-province") 将返回 jQuery 对象,应该像 $(that).val() 一样读取它
  • @Nps 实际上我认为它会是 that.val(),因为 that 将是一个 jQuery 对象

标签: javascript jquery scope


【解决方案1】:

您需要将 jquery 对象转换为 javascript object.use:

function updateCities(that){
  console.log(that.value);
}

$(document).ready(function(){
  updateCities($("#select-province")[0]);
});

【讨论】:

    【解决方案2】:

    选择 1,但不能同时选择:

    • 传递一个 DOM 对象,而不是一个 jQuery 对象

      function updateCities(that){
          console.log(that.value);
      }
      
      $(document).ready(function(){
          updateCities(document.getElementById('select-province'));
      });
      
    • 因为您传递的是 jQuery 对象,所以请使用库的函数来正确检索值:

      function updateCities($that){
          console.log($that.val());  // or $that.prop('value')
      }
      
      $(document).ready(function(){
          updateCities($("#select-province"));
      });
      

      请注意,我将 that 的名称更改为 $that 以反映它是一个 jQuery 对象。

    【讨论】:

      【解决方案3】:

      使用 jQuery 时,尽量使用 jQuery。

      function updateCities(that){
        console.log($(that).val());
      }
      
      $(document).ready(function(){
        updateCities($("#select-province"));
      });
      

      【讨论】:

        【解决方案4】:

        使用 jquery $(that).val() 它工作正常。

        function updateCities(that){
          console.log($(that).val());
        }
        
        $(document).ready(function(){
              updateCities($("#select-province"));
        });
        

        见小提琴链接http://jsfiddle.net/5AX6p/1/

        【讨论】:

          猜你喜欢
          • 2011-04-13
          • 2019-05-10
          • 2017-02-18
          • 2018-12-16
          • 1970-01-01
          • 1970-01-01
          • 2017-02-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多