代码之家  ›  专栏  ›  技术社区  ›  Znaneswar

$('#id')和$(“#'+”id“+”)之间的差异

  •  -8
  • Znaneswar  · 技术社区  · 6 年前

    我想找出 $('#id1') '@$("#' + "id1" + '")'

    var DA_input1 = $('#id1');
    
    var DA_input2 = '@$("#' + "id1" + '")';
    
    
    $("#test1").click(function(){
       alert(DA_input1.val());
    });
    $("#test2").click(function(){
      alert(DA_input2.val());
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    <input data-target="datable" id='id1' value="50">
    
    <br>
    
    <button id="test1">test1</button>
    <button id="test2">test1</button>

    $('#id1') “@$(“#”+“id1”+“)” 控制台返回错误为 DA_input2.val is not a function

    请帮忙

    附言: 反对的人,请说明理由。我违反了任何Stackoverflow规则,或者这个问题在哪里得到了回答?还是你们盲目地追随第一个反对票?请告诉我

    1 回复  |  直到 6 年前
        1
  •  1
  •   Rafael Herscovici    6 年前
    // JQuery evaluation of a selector
    var DA_input1 = $('#id1');
    // Simple string
    var DA_input2 = '@$("#' + "id1" + '")';
    

    如果要在变量中指定id并使JQuery计算变量中的字符串,可以执行以下操作:

    var selector = '#id1';
    var $input  = $(selector);
    

    请注意,我将变量命名为 selector ,因为它可以是任何css选择器, 例如:

    var selector = '.classNameHere';
    

    它将选择所有具有该类的元素 classNameHere