Is there any specific reason behind using $ with variable in jQuery

后端 未结 6 544
天涯浪人
天涯浪人 2020-11-27 16:10

I know it\'s a silly question but I am a bit confused with this. For example, if I have an input with an ID: rad1, is there any difference between below lines o

相关标签:
6条回答
  • 2020-11-27 16:21

    A composition also works fine:

    You can also do something like this to show a <div>:

    function getCompTable(divId){
      var $d = $('#' + divId);
      $d.show();
    }
    

    USAGE

    getCompTable('compListDiv'); // compListDiv - is a div id=""
    

    Yosi Lev

    0 讨论(0)
  • 2020-11-27 16:29

    It's only for showing that it's a Jquery variable.

    Declaring $a you're showing that your variable is for JQuery objects, it's just a notation. So the most readable thing will be to declare Jquery variable with $ notation

    var $obj=$("#obj");
    

    And DOM element without $ notation

    var obj = document.getElementById("obj");
    
    0 讨论(0)
  • 2020-11-27 16:35

    No there is no real difference.

    It's just a convention that helps you remember that a isn't the DOM element but it's a jQuery object.

    var a = document.getElementById('a');
    a.innerHTML  //fine
    
    var $a = $('#a');
    $a.html()   // fine
    

    Ohhh, and by the way, neither a or $a are good variable names ... you should use meaningful variable names not abc characters.


    Read the jQuery info tag on this very same site:

    Variable Naming Conventions

    jQuery wrapped variables are usually named starting with '$' to distinguish them from standard JavaScript objects.

    var $this = $(this);
    
    0 讨论(0)
  • 2020-11-27 16:40

    No difference its just coding convention , check this

    0 讨论(0)
  • 2020-11-27 16:44

    I think this scenario should illustrate the reason for remembering(off course, assigning '$' ) jquery and simple javascript variables:

    <form id='myform' >
      <input id="name" type="text" value="Peter" />
    </form>
    
     <script>
    
     $(document).ready(function(){
          var name = document.getElementById('name');
      var $name = $('#name');
    
      console.log(name.value);   // javascript's properties are available 
           console.log($name.value);  //it is undefined  (worth of notice)
    
      console.log(name.val());   // error!  name.val is not a function !  (jquery function will not be available)
      console.log($name.val());    // jquery functions are available
    
    });
    
     </script>
    
    0 讨论(0)
  • 2020-11-27 16:46

    There's no difference. It's just a coding convention to help identify that the variable represents a jquery wrapped object.

    0 讨论(0)
提交回复
热议问题