Hi Tôi đang cố gắng để tác giả một plugin jQuery và tôi cần phải có phương pháp tiếp cận đến các yếu tố sau khi được khởi tạo như loại đối tượng, ví dụ:phương pháp Tạo on the fly
$('.list').list({some options}); //This initializes .list as a list
//now I want it to have certain methods like:
$('.list').find('List item'); //does some logic that I need
Tôi đã thử với
$.fn.list = function (options) {
return this.each(function() {
// some code here
this.find = function(test) {
//function logic
}
}
}
và một số lần thử khác nhau khác, tôi không thể tìm ra cách thực hiện.
EDIT:
Tôi sẽ cố gắng giải thích điều này tốt hơn.
Tôi đang cố gắng biến một bảng thành danh sách, về cơ bản giống như danh sách trên máy tính có tiêu đề cột và các mục có thể sắp xếp và mọi thứ không hợp lệ. Bạn bắt đầu bảng với một lệnh như
$(this).list({
data: [{id: 1, name:'My First List Item', date:'2010/06/26'}, {id:2, name:'Second', date:'2010/05/20'}]
});
.list
sẽ làm cho <tbody>
sắp xếp được và làm một vài nhiệm vụ ban đầu khác, sau đó thêm các phương pháp sau để các yếu tố:
.findItem(condition)
sẽ cho phép bạn để tìm một mục nhất định bằng cách một điều kiện (như findItem('name == "Second"')
.list(condition)
sẽ liệt kê tất cả các mục phù hợp với một điều kiện nhất định
.sort(key)
sẽ sắp xếp tất cả các mục bằng một chìa khóa trao
, vv
Cách tốt nhất để thực hiện việc này là gì?
Bạn có thể cung cấp thêm một chút ví dụ không? Thật khó để nói những gì bạn đang sau ... và ['.find()'] (http://api.jquery.com/find/) đã được thực hiện :) –
có thể trùng lặp của [Làm thế nào để tạo một jQuery plugin với phương pháp?] (http://stackoverflow.com/questions/1117086/how-to-create-a-jquery-plugin-with-methods) – redsquare
tiêu đề là gây hiểu lầm, đây không phải là phương pháp tạo ra trên bay. – Anurag