如何用JQuery将元素的类更改为'嵌套类'?

时间:2013-08-29 07:00:39

标签: jquery css class grouping nested

CSS:

#logo-container {
  position: fixed;
  right:5px;
  .home-page {
    /* homepage style */
  }
  .content-page {   /* <-- I want to change the $element's class to this class */
    margin-top: 78px;
  }
}

JQuery(将#logo-container的类更改为.content-page):

jQuery(this).prev('#logo-container').attr('class', '#nav-container .content-page');

这似乎不起作用......有什么想法吗?

编辑:问题似乎在于我如何引用.content-page。我尝试过以下操作,似乎没有工作:

'content-page' '.content-page' 'logo-container content-page' '#logo-container .content-page' '#logo-container.content-page'

6 个答案:

答案 0 :(得分:1)

这是您要查找的代码:

div.a {
  color: red;
}

div.a div.b {
  /* Inherits color from div.a */
  font-weight: bold;
}

您应该检查此问题:nested css rules

答案 1 :(得分:0)

尝试

$(this).find('div').removeClass('logo-container').addClass('content-page');

答案 2 :(得分:0)

您可以使用addClass向DOM元素添加新类:

$('#logo-container').addClass('content-page')

如果要删除旧类并添加新类,请使用toggleClass

$('#logo-container').toggleClass('old-class content-page')

答案 3 :(得分:0)

jQuery(this).prev('#logo-container').toggleClass('content-page');

答案 4 :(得分:0)

# //this is a sign for an id

要删除您必须使用removeAttr('id')

的ID

所以也许你需要这样的东西

$('#logo-container').addClass('content-page').removeAttr('id');

答案 5 :(得分:-1)

$(this).prev('#logo-container').addClass('content-page')
BTW,“#nav-container”是什么?