0

如何使用 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'也无济于事。

4

3 回答 3

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

于 2013-07-14T07:40:13.433 回答
1

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

于 2013-07-14T07:40:16.077 回答
0

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

<li>属于该类的元素的后代的任何元素list

它不匹配一个名为 的类的元素"list li"。如果您想在类中使用某种分隔符,请使用连字符:

.list-li:hover {
}

要添加此类:

$(this).addClass('list-li')
于 2013-07-14T07:39:55.183 回答