我正在尝试向 parent 添加一个类<li>
,这是我一直在尝试但没有结果的方法:
function calendaractive(){
$(this).parent('li').addClass("active");
}
HTML
<li>
<a href="javascript:void(0)" onclick="calendaractive();">2009</a>
</li>
为什么这不起作用?
我正在尝试向 parent 添加一个类<li>
,这是我一直在尝试但没有结果的方法:
function calendaractive(){
$(this).parent('li').addClass("active");
}
HTML
<li>
<a href="javascript:void(0)" onclick="calendaractive();">2009</a>
</li>
为什么这不起作用?
尝试。
通过this
你的函数绑定
<li>
<a href="javascript:void(0)" onclick="calendaractive(this);">2009</a>
</li>
相应地更改JS
function calendaractive(anchorLink){
$(anchorLink).parent().addClass("active");
}
最好不要混合 HTML 和 JavaScript。最好检查 JavaScript 本身中的点击:-
$(document).ready(function(){
$('li > a').on('click', function(e) {
$(this).parent().addClass('active');
});
});
将 JavaScript 与 HTML 分开将使其更易于维护(与 CSS 相同的论点)。
您应该使用 JQuery 而不是 onClick 方法添加事件:
JS 应该是这样的:
$(document).ready(function(){
$("a").click(function() {
$(this).parent('li').addClass("active");
});
});
像这样的 HTML
<li>
<a href="#">2009</a>
</li>
请注意,这将添加到所有锚链接,如果您只想将点击事件添加到某些锚链接,请使用类
javascript中的this
关键字在不同的地方意味着不同的东西。有时是窗口,有时是使用它的功能,有时是不同的东西。这取决于调用函数的方法。这里有更多信息(更准确):“this”关键字如何工作?
因此,当您编写$(this)
jQuery 时,您的意思是应该将此类添加到 this 对象中,无论它是什么。
如果你通过 id 将选择器作为 jQuery 的参数,或者更好地传递一个参数,你的代码应该可以工作。