2010-08-13 6 views
8

Tôi có một ứng dụng có định dạng này nằm rải rác xung quanh nhưng tôi không biết nó là loại gì. Nó không phải jQuery, vì vậy nó là gì?Loại JavaScript này là gì?

$('some_edit').style.display = "block"; 
$('some_views').style.display = "none"; 

tôi có được điều này trong firebug và tôi biết nguyên tố này có mặt:

$("some_edit").style is undefined 
+4

Tôi muốn nói rằng có một cơ hội tốt đó là prototypejs. Đó là cách bạn lấy các phần tử theo ID. http://jsfiddle.net/Ntwwz/ – user113716

Trả lời

12

Rất nhiều người đã xác định biểu tượng '$' làm thay thế cho document.getElementById().

Về cơ bản:

function $(id) { return document.getElementById(id); } 
$("ElementID").innerHTML = "Text"; //Usage 

Một thích hợp hơn "namespace" Ví dụ:

var DOM = { // creating the namespace "DOM" 
    $: (function() { 
     if(document.getElementById) 
      return function(id){ return document.getElementById(id); } 
     else if(document.all) 
      return function(id) { return document.all[id]; } 
     else 
      return function(id) { /* I don't even want to get into document.layers */ } 
    })() 
}; 

// Later in the code: 
{ 
    function ExampleFunction() { 
     // ... 
     DOM.$("ElementID").style.backgroundColor = "#96d0a0"; // a nice minty green color 
     // ... 
    } 
} 

Tôi đã sử dụng một mô hình self-invocation (function(){ ... }()) trong ví dụ này.

+0

Đây rất có thể là tình huống. –

+1

Ý tưởng gọn gàng ... Tôi không làm nhiều JavaScript, nhưng tôi có thể sử dụng phím tắt nhỏ này vào lần sau. +1 – iandisme

+1

lol. làm ơn đừng. suy nghĩ như vậy từ tất cả mọi người đã từng thực hiện bất kỳ phát hành js là những gì gây ra vấn đề tương thích khuôn khổ những ngày này. không gian tên! –

-4

Đó là JQuery - sử dụng $ như biến quan trọng của nó.

Đã thêm:

Cũng có thể là mootools. Cũng sử dụng $

Đã thêm:

'some_edit' sẽ là id của phần tử.

ps. Tôi đồng ý $ có thể là bất cứ điều gì. Tỷ lệ cược mặc dù đó là JQuery hoặc Mootools. "Khi bạn nghe thấy tiếng đập, hãy nghĩ ngựa, không phải ngựa vằn."

+1

Loại bộ chọn nào là ''some_edit''? –

+4

Nhiều thư viện sử dụng $ làm biến số trợ giúp, nó chắc chắn không phải là jQuery cụ thể. –

+0

Không cần thiết - Nhiều thư viện sử dụng $, nhưng tôi sẽ đồng ý rằng JQuery là thư viện có khả năng (vì nó có sự chấp nhận rộng rãi nhất) – driis

16

Có thể có nhiều thứ - kiểm tra mã nguồn (hoặc sử dụng Firebug) và xem thư viện JS nào đang được tải.

+1

+1 - cho đến nay câu trả lời hợp lý nhất –

+2

Nếu bạn định sử dụng Firebug, cũng có thể đặt một điểm ngắt và bước vào nó chỉ để chắc chắn rằng thư viện nào đang được thực hiện. – nirvdrum

0

Thiết lập kiểu hiển thị cho hai phần tử trang - thuộc tính hiển thị chỉ định loại hộp mà phần tử sẽ tạo.

khối = Yếu tố sẽ tạo ra một hộp khối (ngắt dòng trước và sau khi các phần tử) none = Yếu tố sẽ tạo ra không có hộp ở tất cả

4

lúc đầu tôi nghĩ rằng các selector jquery sẽ có khả năng đã $("#some_edit") và sau đó .css(). vì vậy tôi đã nói, nguyên mẫu hoặc mootools hoặc một brew nhà $.

bạn chắc chắn có thể giảm giá cả mootoolsprototype, bởi vì nếu công cụ chọn trả về đối tượng, thì thuộc tính kiểu sẽ khả dụng (bỏ qua các phương pháp hay nhất trong cả hai khung về thiết lập kiểu).

lá này, trang web sử dụng homebrew $ gán hoặc jquery, không được sử dụng chính xác.

thực sự, kiểu $ ("foo").blah trong jquery sẽ tạo ra ngoại lệ này rất (thậm chí nếu chọn là tốt) - đây là jsfiddle để giải cứu

trường hợp điểm jquery (trigger): http://www.jsfiddle.net/dimitar/vmsZn/

trường hợp điểm nguyên mẫu (hoạt động): http://www.jsfiddle.net/dimitar/vmsZn/1/

mootools trường hợp điểm (hoạt động): http://www.jsfiddle.net/dimitar/vmsZn/2/

0

Đặt một [0] trước $ ('some_views') để trả lại Native Phần tử DOM.

$ ('some_views') [0] .style.display = "none";

hoặc $ ('some_views'). Get (0) .style.display = "none";

hoặc $ ('some_views'). Css ('display', 'none') để lặp qua bộ sưu tập các phần tử DOM.