Javascript jQuery如何将单击添加到ul
我想在用户使用jQuery单击时添加在Javascript jQuery如何将单击添加到ul,javascript,jquery,Javascript,Jquery,我想在用户使用jQuery单击时添加在li上选中的类。我已经写了下面的代码 HTML 已检查文档 已验证的文件 转发给物流部 物流部收到 。已选中{ 背景:绿色; } jQuery $(函数(){ $('li.row')。在('click',function()上{ $(this.addClass('checked'); }); }); 这是可行的,但我被告知这是一个糟糕的做法,并要求找到更好的方法来做到这一点。我执行以下操作,但它不起作用 $(函数(){ $('ul')。在('cli
li
上选中的类。我已经写了下面的代码
HTML
已检查文档
已验证的文件
转发给物流部
物流部收到
。已选中{
背景:绿色;
}
jQuery
$(函数(){
$('li.row')。在('click',function()上{
$(this.addClass('checked');
});
});
这是可行的,但我被告知这是一个糟糕的做法,并要求找到更好的方法来做到这一点。我执行以下操作,但它不起作用
$(函数(){
$('ul')。在('click',函数(li)上{
$(li).addClass('checked');
});
});
这是错误的,因为你不能选择李点击你
如果您想通过单击添加类或删除类,您可以像这样使用(toggleClass
$('li').find(.row).on('click', function() {
$(this).toggleClass('checked');
});
$('li').find(.row).on('click', function() {
$(this).addClass('checked');
});
但是如果你想添加类,就这样写吧
$('li').find(.row).on('click', function() {
$(this).toggleClass('checked');
});
$('li').find(.row).on('click', function() {
$(this).addClass('checked');
});
使用此代码解决您的问题
$(“.row”)。单击(函数(){
$(this.toggleClass(“更改”)
})
.change{
背景颜色:绿色;
}
已检查文档
已验证的文件
转发给物流部
物流部收到
这是一个不错的做法;)谁说这是坏习惯?谁说这是“坏习惯”,谁就需要解释为什么他们认为这是坏习惯。tl;博士,不是。第一次尝试是添加事件处理程序的正确方法。你的第二个不行。您可以在(“单击”、“li”、function(){$(this).上使用委托事件处理程序,它将是$(“ul”)。但它们仅用于动态创建的元素。$(li).addClass('checked'));不起作用,因为li是可变的而不是实际的html li。如果您试图使其一次只能单击一个,那么您可以用4个单选按钮(带有css样式)替换您的li
和js,而不需要任何js-因此这可能是他们所指的。