【问题标题】:jQuery passing element ID into jquery statement?jQuery将元素ID传递给jquery语句?
【发布时间】:2010-12-02 18:10:18
【问题描述】:

我想将一个元素的 ID 传递给一个调用 jQuery 的函数。但是,对于如何实际获取 ID 变量并将其与 jQuery 语句中的其他文本连接起来,我感到很困惑。例如,这会返回一个错误:

myFunction("#myObject");

function myFunction(IDofObject){

    $("'"+IDofObject+" img'").doSomething...

}

我想用 '#myObject img' 做一些事情,但不能让它在语句中起作用。

【问题讨论】:

    标签: jquery variables concatenation


    【解决方案1】:

    当按钮被点击时,它会得到按钮id,我稍后会用它来获取它的字段数据,使用+运算符来动态更改id

    $('.btnsave').click(function() 
      {
          btnvalue = $(this).val();
          //alert(btnvalue);
          adjust_value = $('#adjust_value'+btnvalue).val();
          ado = $('#ado'+btnvalue).val();
          amount =  $('#amount'+btnvalue).val();
          description = $('#description'+btnvalue).val();
          //alert(adjust_value+ado+amount+description);
          
      })

    【讨论】:

      【解决方案2】:

      如果你将整个选择器作为参数传递,我认为你会得到更好的重用,记住 jQuery 隐式迭代所有匹配的元素。举个简单的例子:

      function hideImageDescendants(selector){
          $(selector).find("img").hide();
      }
      

      【讨论】:

        【解决方案3】:

        就这样做--

        myfunction('obj')
        function myfunction(obj){
        $('#'+obj+' img').show();
        }
        

        或者,甚至

        myfunction($('#2 img a'));
        
        myfunction(jqobj){
        jqobj.show();
        }
        

        【讨论】:

          【解决方案4】:

          呃。那些“在你问你弄清楚......后 2 秒”的问题之一:

          function myFunction(IDofObject){
          
              $(IDofObject+" img").doSomething...
          
          }
          

          【讨论】:

            【解决方案5】:

            不要将参数用引号引起来:

            function myFunction(IDofObject) {
                $( IDofObject + " img" ).doSomething();
            }
            

            此外,您可能需要考虑在函数中添加哈希字符,以便您可以将实际 id 传递给它,而不是选择器。

            myFunction( $('.classSelector :first').attr('id') );
            
            function myFunction(IDofObject) {
                $( "#" + IDofObject + " img" ).doSomething();
            }
            

            【讨论】:

              【解决方案6】:
              myFunction("#myObject");
              
              function myFunction(IDofObject){
              
                  $(IDofObject+" img").doSomething...
              
              }
              

              试试看。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2011-07-15
                • 1970-01-01
                • 2019-01-16
                • 2013-03-24
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多