On Fri, Jun 20, 2008 at 1:51 AM, Josh Nathanson <[EMAIL PROTECTED]> wrote: > >> Now why is this not working with a href? >> I have just no clue. > > My guess is that the context doesn't resolve correctly when you do > "javascript:" in the href, so when you do "this.parentNode", it probably > thinks "this" is the window object, which doesn't have a parent node. Thus > it returns undefined. > > When you do "onclick" it knows the context is that "a" node so it works > properly. > > Also, if you are getting into jQuery, I'd suggest learning a little bit > about "unobtrusive javascript", that is, not putting your event handler code > inline. This helps you keep your html markup and your JS code separated.
what do you mean by: "not putting your event handler code inline" And my javascript code is in a seperate .js file. but i have to call it somewhere in the html and that's what you see in the href and onclick. And i will take a look at that "unobtrusive javascript" but any suggestions for good docs about that? > > -- Josh > > > ----- Original Message ----- From: "Mark" <[EMAIL PROTECTED]> > To: <jquery-en@googlegroups.com> > Sent: Thursday, June 19, 2008 4:13 PM > Subject: [jQuery] Re: Why do i keep getting: test is not defined! > > >> >> Thanx for the fast reply! >> I just now found why it was not working.. >> >> With this it works: >> <a onclick="removeItem('something', this.parentNode);">click</a> >> >> with this not (will give the freaking error): >> <a href="javascript:removeItem('something', this.parentNode);">click</a> >> >> Now why is this not working with a href? >> I have just no clue. >> >> >> On Fri, Jun 20, 2008 at 1:08 AM, Josh Nathanson <[EMAIL PROTECTED]> >> wrote: >>> >>> Your function is fine, however when you *call* the function removeItem, >>> you'll need to pass in two arguments -- otherwise obj will be undefined: >>> >>> removeItem('myitem'); // obj is undefined >>> removeItem('myitem', myobject); // obj is defined >>> >>> -- Josh >>> >>> >>> ----- Original Message ----- From: "Mark" <[EMAIL PROTECTED]> >>> To: <jquery-en@googlegroups.com> >>> Sent: Thursday, June 19, 2008 4:02 PM >>> Subject: [jQuery] Why do i keep getting: test is not defined! >>> >>> >>>> >>>> hey, >>>> >>>> function removeItem(name, obj) >>>> { >>>> var answer = confirm("Are you sure you want to delete: " + name + "?") >>>> var test = obj; >>>> >>>> if (answer) >>>> { >>>> $(test.parentNode.parentNode).fadeOut("slow"); >>>> } >>>> } >>>> >>>> the code is simple and still not working.. the issue is that i try to >>>> call a variable in a if that wasn't made there.. but how can i resolve >>>> that? >>>> Why is javascript not working how you would expect it to work :S i >>>> know Java and PHP well and things like this are no issue in them. >>>> >>>> o and in this code i already put obj in test.. i've tried it with obj >>>> first but that gave the same error as in the title. >>>> >>>> Thanx. >>> >>> > >