[英]how to call jQuery(this) from anchor tag onclick function
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>
code and wants to add class name to a tag parrent tag li ie class="selected"
bu sing jquery. 代码,并希望将类名添加到标签parrent标签li ie
class="selected"
bu sing jquery。 I used this jquery code 我使用了这个jquery代码
function setSelectedTestPlan() {
jQuery("#tree ul li").each(function () {
jQuery(this).removeClass("selected");
});
jQuery(this).closest('li').addClass("selected");
}
But this line jQuery(this).closest('li').addClass("selected");
但这行
jQuery(this).closest('li').addClass("selected");
doesn't work... 不起作用......
Please help me out... 请帮帮我...
HTML HTML
<li><a onclick="setSelectedTestPlan(this);" href="javascript:void(0);">New Test</a></li>
js JS
function setSelectedTestPlan(el) {
jQuery("#tree ul li").removeClass("selected");
jQuery(el).closest('li').addClass("selected");
}
or 要么
js JS
function setSelectedTestPlan(el) {
jQuery(el).closest('li').addClass("selected").siblings().removeClass("selected");
}
You need to send the element through the function like this 你需要像这样通过函数发送元素
HTML HTML
onclick="setSelectedTestPlan(this);"
js JS
function setSelectedTestPlan(ele) {
jQuery("#tree ul li").each(function () {
jQuery(this).removeClass("selected");
});
jQuery(ele).closest('li').addClass("selected");
}
One line: 一条线:
jQuery(this).closest('li').addClass("selected").siblings().removeClass("selected");
but you will have to amend your event to pass through 'this'; 但你必须修改你的活动才能通过'this';
onclick="setSelectedTestPlan(this);"
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();
});
});
HTML HTML
<li><a onclick="setSelectedTestPlan.call(this, event);" href="javascript:void(0);">New Test</a></li>
JS JS
function setSelectedTestPlan(e) {
jQuery(this)closest('li').addClass("selected").siblings().removeClass("selected");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.