【问题标题】:jquery variable selector issuejquery变量选择器问题
【发布时间】:2017-05-01 16:32:05
【问题描述】:

html:

<input id="input_1" type="text" value="some text"/>
<input id="input_2" type="text" value="some text"/>

js:

var input_1 = $('#input_1'),
input_2 = $('#input_2');

现在我需要删除这些值。所以我一一删除了价值。 示例:

  input_1.value('');
  input_2.value('');

但是如何在一行中删除这些变量值? (没有这个方法:input_1.value('').end().input_2.value('');

【问题讨论】:

    标签: jquery variables selector


    【解决方案1】:

    你想使用add方法。

    input_1.add(input_2).val("");
    

    【讨论】:

      【解决方案2】:
      $("#input_1, #input_2").val('');
      

      【讨论】:

      • 我想使用这些变量而不是 id。
      【解决方案3】:

      如果你想清空多个元素的值,那么使用类选择器是你的一个选择。 像这样:

      var input_vars = $(".elementClass");
      input_vars.val("");
      

      【讨论】:

        【解决方案4】:

        为两个文本框元素添加一个公共类,然后使用该类清除值。

        $(".class").value("");

        【讨论】:

          【解决方案5】:

          你可以试试 jQuery each()(https://api.jquery.com/each/)

          $('input[id^='input_']').each(function( index ) {
               $(this).val(''); // reset each element value
          });
          

          仅供参考

          input[id^='input_'] 选择器选择所有具有id 属性以'input_' 开头的input 元素,例如input_1、input_2 等。

          【讨论】:

            【解决方案6】:

            也许通过数组?

            var clearMe = ['input1', 'input2'];
            
                for (i = 0; i < clearMe.length; i++) { 
                    var thisClear = clearMe[i];
                    
                   $('#'+thisClear).val(''); 
                }
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
            <input type="text" id="input1" name="test" value="testvalue1">  
            <input type="text" id="input2" name="test" value="testvalue2">
            <input type="text" id="input3" name="test" value="testvalue3">

            变量也一样:

            var clear1 = $('#input1');
            var clear2 = $('#input2');
            var clearMe = [clear1, clear2];
            
                for (i = 0; i < clearMe.length; i++) { 
                   clearMe[i].val(''); 
                }
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
            <input type="text" id="input1" name="test" value="testvalue1">  
            <input type="text" id="input2" name="test" value="testvalue2">
            <input type="text" id="input3" name="test" value="testvalue3">

            或者..简单地说:

            var clear = $('#input1, #input2');
            clear.val('');
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
            <input type="text" id="input1" name="test" value="testvalue1">  
            <input type="text" id="input2" name="test" value="testvalue2">
            <input type="text" id="input3" name="test" value="testvalue3">

            【讨论】:

              【解决方案7】:

              它对我有用。谢谢大家。

              input_1.add(input_2).val("");
              

              【讨论】:

                猜你喜欢
                • 2011-04-04
                • 2011-10-31
                • 2010-12-01
                • 2010-11-25
                相关资源
                最近更新 更多