2012-04-18 33 views
40

Tôi biết đó là một câu hỏi ngớ ngẩn nhưng tôi hơi bối rối với điều này. Ví dụ: nếu tôi có đầu vào có ID: rad1, có sự khác biệt nào giữa các dòng mã dưới đây không?

var $a = $('#rad1') 

hoặc

var a = $('#rad1') 
+2

bản sao có thể có của [Tại sao biến JavaScript bắt đầu bằng ký hiệu đô la?] (http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start -với một -dollar-sign) –

Trả lời

56

Không có sự khác biệt thực sự nào.

Nó chỉ là một quy ước giúp bạn nhớ rằng a không phải là phần tử DOM mà là đối tượng jQuery.

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

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

Ohhh, và bằng cách này, không phải a hoặc $a là tên biến tốt ... bạn nên sử dụng tên biến có ý nghĩa không abc ký tự.


Đọc jQuery info tag trên trang web này rất giống nhau:

ước đặt tên biến

jQuery quấn biến thường được đặt tên bắt đầu bằng '$' để phân biệt với đối tượng JavaScript chuẩn.

var $this = $(this); 
+3

Tôi đến từ nền java .. và câu trả lời này thực sự chứng ngộ ngày của tôi. Tôi chỉ biết rằng trong JS tôi có thể sử dụng $ trong tên var .. – swdev

+5

Điều thú vị là, bạn có thể [sử dụng $ trong biến Java là tốt] (http://stackoverflow.com/questions/7484210/what-is-the-meaning-of-in-a-variable-name). – zb226

3

Nó chỉ cho thấy rằng đó là một biến Jquery.

Khai báo $a bạn đang hiển thị rằng biến của bạn dành cho các đối tượng JQuery, nó chỉ là một ký hiệu. Vì vậy, điều có thể đọc được hầu hết sẽ phải khai báo biến Jquery với $ ký hiệu

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

Và phần tử DOM mà không cần $ ký hiệu

var obj = document.getElementById("obj"); 
1

Không có sự khác biệt. Nó chỉ là một quy ước mã hóa để giúp xác định rằng biến đại diện cho một đối tượng được bao bọc bởi jquery.

1

Không chênh lệch ước chỉ mã hóa của nó, check this

0

Một phần cũng hoạt động tốt:

Bạn cũng có thể làm một cái gì đó như thế này để hiển thị một <div>: SỬ DỤNG

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

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

yosi Lev

0

Tôi nghĩ rằng kịch bản này nên minh họa cho lý do nhớ (off Tất nhiên, chỉ định '$') jquery và các biến javascript đơn giản:

<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> 
-1

Khi cài đặt var d = $('<div>'); tôi không tìm thấy sự khác biệt giữa d.addClass('someclass');$(d).addClass('someclass');

+0

Không phải là câu trả lời. Đề xuất chúng tôi xóa. –

+0

Không chỉ tôi đang sử dụng mã tương tự được cung cấp trong câu hỏi ban đầu, tôi cũng đáp ứng với những phát hiện của riêng mình: Tôi không tìm thấy sự khác biệt. – luenib

Các vấn đề liên quan