2012-04-23 20 views
6

Có thực hành tốt hay xấu để sử dụng các câu lệnh jQuery trong các hàm javascript thuần túy bên ngoài sẵn sàng không? Nếu không phải là cách chính xác là gì?Sử dụng các câu lệnh jQuery trong các hàm javascript đơn giản

//** End ready **// 

function doSomething() { 
    selectedClickBoxIndex = parseInt(jQuery('.' + clickBoxOnClass).attr('value')); 

    // Javascript code 
} 
+0

Vâng, tất nhiên là như vậy. Bạn có thể sử dụng các hàm jQuery bất cứ nơi nào bạn muốn và cần. –

+1

theo như tôi đã học jQuery là một thay thế viết tắt hiệu quả để javascript để giới thiệu * không phô trương * kịch bản .. do đó, bằng cách sử dụng jQuery trong conjuction với javascript không phải là một cái gì đó tôi muốn giới thiệu như nó muốn cảm thấy như đánh bại mục đích của jQuery, cũng là mô đun của mã và tính đồng nhất bị ảnh hưởng khi nhiều người làm việc trộn js và jQuery làm cho nó rất khó để xem xét – optimusprime619

+6

@ optimusprime619 jQuery không phải là một thay thế cho JavaScript - nó ** là ** JavaScript. Thực tế là không thể sử dụng jQuery ** nếu không sử dụng JavaScript. – Pointy

Trả lời

5

gì sai. Khi bạn bao gồm tệp jquery, bạn đang mở rộng chức năng của mình, miễn phí sử dụng bất cứ nơi nào bạn muốn

+0

jQuery không mở rộng chức năng. Không có gì với jQuery mà bạn không thể làm mà không có nó. –

+0

Đồng ý. Nó chỉ làm cho chức năng hiện có (nhiều) dễ thực hiện hơn. –

+0

@ElliotBonneville: Đôi khi. –

1

Tại sao không điều này sẽ làm giảm dòng mã và cũng jquery là tương thích với tất cả các trình duyệt

2

Điều đó hoàn toàn có thể chấp nhận được; chỉ cần đảm bảo bạn gọi các hàm đó sau khi DOM đã tải, hoặc từ tài liệu đã sẵn sàng hoặc một số tương đương.

+0

Thực ra, bạn có thể gọi nó trước khi sẵn sàng, chỉ cần đảm bảo rằng sau khi các phần tử cụ thể mà bạn muốn xử lý tập lệnh đã được phân tích cú pháp. – primavera133

+0

Đó là sự thật, đó là sự thật. –

2

Không có gì sai với điều đó cả.

Điều bạn muốn đảm bảo là không có tham chiếu đến nút DOM nào được thực hiện trước DOMReady. Điều này đúng bất kể bạn sử dụng $('.someClass') hoặc document.getElementsByClassName.

Chức năng của bạn thực hiện tham chiếu như vậy, nhưng điều này là miễn là bản thân hàm không được gọi trước DOMReady.

2

Không có lý do gì để không sử dụng nó bên ngoài tài liệu. Nó làm cho nó dễ dàng hơn nhiều để đi qua và sửa đổi dom.

Khả năng lấy các phần tử trên trang qua nhiều bộ chọn jquery hữu ích là một lý do đủ tốt để sử dụng ở nơi khác.

3

Không có gì sai với điều đó. jQuery chỉ là một thư viện Javascript, không có sự tách biệt chặt chẽ giữa chúng.

Bạn có thể muốn sử dụng chức năng val, mặc dù:

function doSomething() { 
    selectedClickBoxIndex = parseInt(jQuery('.' + clickBoxOnClass).val()); 

    // Javascript code 
} 
2

Chừng nào function doSomething() được kích hoạt sau khi sự kiện onLoad nó là hoàn toàn OK để làm điều đó theo cách đó. $ (document) .ready chỉ là một cách để thực thi JS được hoãn cho đến khi trang được nạp đầy đủ.

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