New T...">

How to call jQuery (this) from onclick function tag binding

I have

<ul> <li><a onclick="setSelectedTestPlan();" href="javascript:void(0);">New Test</a></li> <li><a onclick="setSelectedTestPlan();" href="javascript:void(0);">New Test fdgfdgfdgfdgfdgfdgfdgfdg fdg</a></li> <li><a onclick="setSelectedTestPlan();" href="javascript:void(0);">New Plan</a></li> <li><a onclick="setSelectedTestPlan();" href="javascript:void(0);">Test</a></li> </ul> 

and wants to add the class name to the parrent tag li ie class="selected" bu sing jquery tag. I used this jquery code

 function setSelectedTestPlan() { jQuery("#tree ul li").each(function () { jQuery(this).removeClass("selected"); }); jQuery(this).closest('li').addClass("selected"); } 

But this line is jQuery(this).closest('li').addClass("selected"); does not work...

Please help me...

+7
javascript jquery html
source share
5 answers

HTML

 <li><a onclick="setSelectedTestPlan(this);" href="javascript:void(0);">New Test</a></li> 

Js

 function setSelectedTestPlan(el) { jQuery("#tree ul li").removeClass("selected"); jQuery(el).closest('li').addClass("selected"); } 

or

Js

 function setSelectedTestPlan(el) { jQuery(el).closest('li').addClass("selected").siblings().removeClass("selected"); } 
+18
source share

You need to send the item through a function like this

HTML

 onclick="setSelectedTestPlan(this);" 

Js

 function setSelectedTestPlan(ele) { jQuery("#tree ul li").each(function () { jQuery(this).removeClass("selected"); }); jQuery(ele).closest('li').addClass("selected"); } 
+2
source share

One line:

 jQuery(this).closest('li').addClass("selected").siblings().removeClass("selected"); 

but you will need to change your event to go through 'this';

 onclick="setSelectedTestPlan(this);" 
+2
source share
 function setSelectedTestPlan(e) { jQuery("#tree ul li").each(function () { jQuery(this).removeClass("selected"); }); jQuery(e).closest('li').addClass("selected"); } <li><a onclick="setSelectedTestPlan(this);" href="javascript:void(0);">New Test</a></li> 

alternative

  <ul> <li><a class="mylink" href="javascript:void(0);">New Test</a></li> <li><a class="mylink" href="javascript:void(0);">New Test fdgfdgfdgfdgfdgfdgfdgfdg fdg</a></li> <li><a class="mylink" href="javascript:void(0);">New Plan</a></li> <li><a class="mylink" href="javascript:void(0);">Test</a></li> </ul $(function(){ $(".mylink").click(function(e){ $(".mylink").parents("li").removeClass("selected"); $(this).parents("li").addClass("selected"); e.preventDefault(); }); }); 
+1
source share

HTML

 <li><a onclick="setSelectedTestPlan.call(this, event);" href="javascript:void(0);">New Test</a></li> 

Js

 function setSelectedTestPlan(e) { jQuery(this)closest('li').addClass("selected").siblings().removeClass("selected"); } 
0
source share

All Articles