我想将执行操作的元素传递给函数,但不确定如何执行。
$('.report_chart_enquiries').click(function(){
showing_barcharts(this);
}
function showing_barcharts(elem) {
$(elem).addClass('report_chart_current');
}
<div class="report_chart_enquiries">Enquiries</div>
这就是我认为的工作方式,但是什么也没做。甚至有可能吗?
答案 0 :(得分:1)
重新检查您的代码js:
$('.report_chart_enquiries').click(function(){
showing_barcharts(this);
}); //you mistaked there
function showing_barcharts(elem) {
$(elem).addClass('report_chart_current');
}
这是一个演示链接https://jsfiddle.net/f10cpkyd/
答案 1 :(得分:1)
.target
中使用参数来获取触发事件的元素
$('.report_chart_enquiries').click(showing_barcharts)
function showing_barcharts(elem) {
$(elem.target).addClass('report_chart_current');
}
.report_chart_current {
color: red
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="report_chart_enquiries">Enquiries</div>
答案 2 :(得分:0)
请确保您的代码有效,并尝试更有效:
$(document).on('click', '.report_chart_enquiries', function(){
showing_barcharts(this);
});
function showing_barcharts(elem) {
$(elem).addClass('report_chart_current');
}
$(document)将确保您的代码始终有效。