簡體   English   中英

JQuery addClass()中有空格嗎?

[英]JQuery addClass() that has a space in it?

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

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

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

我試圖在事件處理程序中更新/替換列表的內部html,但是當我這樣做時,所有的CSS格式都消失了。 我只需要一種放回去的方法,所以我打算使用類似$('#my_list').addClass('list list li')東西$('#my_list').addClass('list list li')但我不知道如何讓它識別li部分。 我試圖逃離這個空間,但沒有運氣; 通過它'list list\\ li'也不行。

您只需要將類list添加到#my_list以及它只是css的其余代碼中。 list類添加到ul元素后,它將自動為子li元素應用:hover樣式

jQuery的,

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

CSS,

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

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

更清楚的是,在您的代碼list是您唯一的類。 li不是一個類,它是ul標簽內的li元素。 li:hover是指li元素的懸停效果

.list li沒有指定帶有空格的類。 那就是選擇一個li元素,它位於任何元素下面的結構中,並帶有list類。 如果不了解HTML的結構以及您要更換的內容,很難准確說出您需要做什么。 如果您只是替換.list元素中的li ,那么它仍然可以正常工作。 如果您要替換整個事物,那么只需確保將list類添加到包含li的父元素。

CSS選擇器.list li匹配以下內容:

任何<li>元素,它是具有類list的元素的后代

它與名為"list li"的類的元素不匹配。 如果你想在你的班級中使用某種間隔字符,請使用連字符:

.list-li:hover {
}

要添加此類:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM