Alex Rivera | Logout

get parentNode of clicked element in plain JS

Asked 2012-02-12T16:55:12.110
13

I need to get the parentNode of a clicked element in plain JS (no jQuery or other frameworks) I am currently using document.getElementById("item_click") but I want to change id="item_click" to class="item_click" so I can use multiple boxes. I just don't know how to integrate this in the script

Here's a Fiddle <<< play with it

HTML

<div class="item">
    <div  class="item-tester" >
        <div class="item-icon"></div>
        <div class="item-title">Item Title</div>
    </div>
    <div id="item_click" onmousedown="new_class(event)" onmouseup="revert_class(event)" onmouseout="revert_class(event)"></div>
</div>

JS

function new_class(event) {
    wClick = document.getElementById("item_click");
    wTile = wClick.parentNode;
    wTile.className = wTile.className + " added-class";
}
function revert_class(event) {
    wTile.className = "item";
}
​

I want to change

wClick = document.getElementById("item_click");
wTile = wClick.parentNode;

to something like

wClick = this;
wTile = wClick.parentNode;

I know how to do this in jQuery but it will not work in plain JS as this would be the window (I think)

BTW. I need the (event) since this is just a stripdown of the entire code I'm using.

Edit
Report

1 Answer

27
function new_class(event) {
    wTile = event.target.parentNode;
    wTile.className = wTile.className + " added-class";
}
answered 2012-02-12T16:57:54.010

Your Answer