could you post your code with alert statements? ---- Read jQuery HowTo Resource - http://jquery-howto.blogspot.com
On Sat, Feb 7, 2009 at 2:19 PM, ShurikAg <shuri...@gmail.com> wrote: > > And by the way: I tried to return jQ(this)... nothing changes. > > On Feb 7, 1:18 am, ShurikAg <shuri...@gmail.com> wrote: >> Sorry, I have probably didn't enplane myself properly. >> I'm running it once, but when I'm trying to track "jQ >> (this).selector" (by alert), it alerts me twice in the same run: once >> with table and second is empty... >> >> On Feb 7, 1:11 am, jQuery Lover <ilovejqu...@gmail.com> wrote: >> >> > But you are saying first time you run it, it gives you 'table', the >> > second time you run it, it says it's not a table... >> >> > This means, the first time it is getting to the return statement... Or >> > did I get you wrong ? >> >> > ---- >> > Read jQuery HowTo Resource - http://jquery-howto.blogspot.com >> >> > On Sat, Feb 7, 2009 at 2:02 PM, ShurikAg <shuri...@gmail.com> wrote: >> >> > > But it does not even get to the return statement... >> >> > > On Feb 7, 12:47 am, jQuery Lover <ilovejqu...@gmail.com> wrote: >> > >> Maybe because you are return reference to the function not a jQuery >> > >> object: >> >> > >> > return this; >> >> > >> Read this >> > >> post:http://jquery-howto.blogspot.com/2008/12/how-to-create-jquery-plugin-... >> >> > >> It explains why you need to return jQuery object. >> >> > >> On Sat, Feb 7, 2009 at 1:28 PM, ShurikAg <shuri...@gmail.com> wrote: >> >> > >> > Question related to the same plugin: >> >> > >> > Plugin code: >> > >> > jQ.fn.table = function(options, titles, data){ >> > >> > if(jQ(this).length == 0){ >> > >> > //try to find at least one element >> > >> > $.log("Matching element "+jQ(this).selector+" >> > >> > was not found!") >> > >> > return null; >> > >> > } >> > >> > //validate that this element is unique i=on hte page >> > >> > if(jQ(this).length > 1){ >> > >> > $.log("The element's selector must be unique >> > >> > on the page!"); >> > >> > return null; >> > >> > } >> > >> > //check if the elemment is a table >> > >> > //alert(jQ(this).selector); >> > >> > if(!jQ(this).is('table')){ >> > >> > $.log("The element must be valid table >> > >> > element!"); >> > >> > return null; >> > >> > } >> > >> > /** >> > >> > * Save the selector for further >> > >> > */ >> > >> > Selector = jQ(this).selector; >> >> > >> > //extend defaults >> > >> > Options = jQ.extend({}, Defaults, options); >> > >> > //init additional data >> >> > >> > //init UI >> > >> > jQ.fn.table.initUI(); >> >> > >> > return this; >> > >> > }; >> >> > >> > and I'm running it as: >> > >> > var $table = $('table'); >> > >> > $table.table(); >> >> > >> > and I'm always getting: "The element must be valid table element!" >> >> > >> > I've tried to trace what the selector is; and once it is "table" but >> > >> > the second time (in he same run) is null. Why there are two entries to >> > >> > this function anyways? I have only one table on the page.