Javascript: How to make a Control send itself in a method

Programmin Tool picture Programmin Tool · Mar 6, 2009 · Viewed 48.3k times · Source
<a href="" id="someId" onclick="SomeMethod(self);"></a>

Where SomeMethod could have:

function SomeMethod(item)
{
  item.setAttribute('name', item.id);
}

Instead of:

function SomeMethod(itemId)
{
  var someItem;

  someItem = document.getElementById(itemId);
  someItem .setAttribute('name', someItem .id);

}

Silly example, but the idea is not to send in the id itself, but the actual control calling the method. I swear this can be done but have had no luck searching... partially because I'm not even sure what to search on.

I thought it was self, but self doesn't seem to be what I want when the script I have runs.

Answer

Quintin Robinson picture Quintin Robinson · Mar 6, 2009

Use the this Keyword.

<a href="" id="someId" onclick="SomeMethod(this);"></a>