Jquery .closest()但是如何在Click else上取消它?

时间:2014-07-13 05:24:31

标签: javascript jquery css

Gday Guys,

这可能是一个基本答案,但我很难在任何地方找到答案。

所以我在标签上使用contenteditable来编辑和创建我拥有的页面上的内容,并且我已经通过浏览器删除了任何边框。因此,一旦我选择了<li>标签进行编辑,我就会使用jquery来更改<a>的背景,以向用户显示正在使用的内容。

问题是我可以使用jquery在焦点上设置它没问题。但是一旦我转到下一个可编辑标签,我不知道如何在最后<li>上将背景设置为白色?

这里的jquery我用来设置它,有什么想法吗?

$( ".list-result-edit" ).focus(function() {
    $(this).closest(".detail-list li").css("background-color", "rgb(203, 255, 207)");
});

1 个答案:

答案 0 :(得分:1)

您需要更改点击的li

这将解决我们的问题,

$( ".list-result-edit" ).focus(function() {

    $(".detail-list li").css("background-color","-original_color-")
    $(this).closest(".detail-list li").css("background-color", "rgb(203, 255, 207)");
});

更好的解决方案是使用class

CSS:

.edit{
    background-color : rgb(203, 255, 207);
}

JS:

$( ".list-result-edit" ).focus(function() {

    $(".detail-list li.edit").removeClass('edit');
    $(this).closest(".detail-list li").addClass('edit');
});