首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Koken CMS如果类被添加到另一个元素中(多个案例)

Koken CMS如果类被添加到另一个元素中(多个案例)
EN

Stack Overflow用户
提问于 2014-03-18 19:54:00
回答 1查看 227关注 0票数 0

除了一个不同的颜色为每个导航项目,当他们是活跃的,我需要我的网站标题(徽标,背景色),每页/相册的另一个颜色。

当导航内的链接处于活动状态时,.k-nav-current将自动追加。

所以我试过这个:

代码语言:javascript
复制
if ($("#main li:nth-child(2)").hasClass('.k-nav-current')) {
    $("#site-title").addClass("babycurrent");
} else {

};


.babycurrent{
background: rgb(35,235,0);
}

或者我没有尝试#main li:nth-child(),而是尝试了:

#main a#unique_nav_itemid

a#unique_nav_itemid

但这些解决方案都不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 20:04:16

您可以使用一种方法来测试文档中的元素是否存在:

代码语言:javascript
复制
if($('.k-nav-current').length) {
    $("#site-title").addClass("babycurrent");
}

当然,如果长度是0,它就被认为是"falsey“。任何其他正数都是“真实的”。

但是,对于任何进一步的帮助,我们都需要看到实际的标记。

编辑:

对于当前的设置,您正在尝试使用#main li:nth-child(2)并检查其类。类实际上应用于锚。您需要使用#main li:nth-child(2) a

代码语言:javascript
复制
if ($("#main li:nth-child(2) a").hasClass('k-nav-current')) {
    $("#site-title").addClass("babycurrent");
}

不过,最好只使用这样的东西(考虑到ids是唯一的):

代码语言:javascript
复制
if ($("#baby").hasClass('k-nav-current')) {
    $("#site-title").addClass("babycurrent");
}

最后,如果您真的希望它是动态的,您可以这样做:

代码语言:javascript
复制
var current = $("a.k-nav-current")[0].id.replace('#','');
$("#site-title").addClass(current + "current");

编辑:

代码语言:javascript
复制
$( document ).ready(function() {
  if ($("#baby").hasClass('k-nav-current')) {
    $("#site-title").addClass("babycurrent");
  }
});

// or you can do this (commented out) /*

$( document ).ready(function() {
  var current = $("a.k-nav-current")[0].id.replace('#','');
  $("#site-title").addClass(current + "current");
});

*/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22489644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档