JQuery addClass()中有空格吗?

时间:2013-07-14 07:36:26

标签: javascript jquery html addclass

如何使用JQuery的addClass方法添加一个有空格的类?例如:

.list {
  padding-left: 0px;
  margin-left: 20px;
}

.list li:hover {
  background-color: AliceBlue;
}

我正在尝试更新/替换事件处理程序中列表的内部html,但是当我这样做时,所有CSS格式都消失了。我只需要一种放回去的方法,所以我会使用类似$('#my_list').addClass('list list li')的东西,但我不知道如何让它识别li部分。我试图逃离这个空间,但没有运气;传递它'list list\ li'也不行。

3 个答案:

答案 0 :(得分:1)

您只需将课程list添加到#my_list,其余代码只需要css。将list类添加到ul元素后,它会自动为子:hover元素应用li

jQuery的,

$('#my_list').addClass('list');

的CSS,

.list {
  padding-left: 0px;
  margin-left: 20px;
}

.list li:hover {
  background-color: AliceBlue;
}

为了更清楚,在您的代码中list是您唯一的课程。并且li不是一个类,它是li标记内的ul元素。 li:hover表示li元素的悬停效果

答案 1 :(得分:1)

.list li未指定其中包含空格的类。那就是选择一个li元素,它位于任何元素下面的结构中,其中包含list类。如果不了解HTML的结构以及您要更换的内容,很难准确说出您需要做什么。如果您只是替换li元素内的.list,那么它仍然可以正常工作。如果您要替换整个内容,那么只需确保将list类添加到包含li s的父元素。

答案 2 :(得分:0)

CSS选择器.list li匹配以下内容:

  

任何<li>元素,它是类list的元素的后代

它与名为"list li"的类的元素不匹配。如果你想在课堂上使用某种间隔字符,请使用连字符:

.list-li:hover {
}

添加此课程:

$(this).addClass('list-li')