2

<li id="leistungen"><a href="#Leistungen" onclick="sitemapChangeSubMenu('leistungen','leistungencontent','leistungen'); return false;">LEISTUNGEN</a> </li>

这是我要设置样式的列表项:

$("#leistungen a").addClass("brown");

这对任何一个都不起作用:

$("#leistungen").addClass("brown");

我的CSS代码只是

.brown {
   color:brown;
}

我不知道是什么问题,希望你能帮助我:)

多谢!

4

5 回答 5

7

$("#leistungen").addClass("brown");

将适用于#leistungen 内的所有文本,但不适用于锚标签。锚点有一个必须被覆盖的默认样式。你写得对

$("#leistungen a").addClass("brown");

进行测试以确保您的 Javascript 正在执行,方法是将其更改为

$("#leistungen a").hide();

如果它消失了,那么您就知道您的 Javascript 正在处理正确的元素。接下来,尝试更具体地使用您的选择器(也许其他东西会覆盖您的更改)。

$("li#leistungen a").addClass("brown");

如果这不起作用,请确保 javascript 已执行,然后检查元素。它有新的班级吗?如果是这样,那么问题出在 CSS 而不是 Javascript 上。检查围绕“.brown”样式的 CSS 文件以查找语法错误。以前样式中缺少的 } 就可以了。

尝试使用“#4C3F12”而不是“棕色”作为颜色。

.brown {
  color: #4C3F12;
}

让我知道这些是否有帮助!

于 2009-09-18T10:51:33.030 回答
3

区分大小写——你用大写的 L 命名你的锚。

$("#Leistungen").addClass("brown");

在第一种情况下,您还需要使用类选择器,而不是 id 选择器

$(".leistungen a").addClass("brown");

注意——我会避免匹配的类和 id(有或没有区分大小写)。

HTML ID 属性文档(强调我的):

ID 属性唯一地标识文档中的元素。没有两个元素在单个文档中具有相同的 ID 值。属性值必须以 AZ 或 az 范围内的字母开头,后跟字母 (A-Za-z)、数字 (0-9)、连字符 ("-")、下划线 ("_")、冒号(":") 和句点 (".")。该值区分大小写。

于 2009-09-18T10:21:26.007 回答
0

您可能在此处遇到CSS 特异性的问题。如果您的“a”标签的原始颜色指定得非常具体,则新定义可能不起作用。例如:

body #leistungen a {
   color: red;
}

.brown {
   color: brown;
}

在这种情况下,红色优先于棕色,因为第一个定义比最后一个定义更具体。尝试更具体地定义 brown 类:

body #leistungen a.brown {
   color: brown;
}
于 2009-09-18T10:59:24.760 回答
0

可能是您在某处有冲突的 css 定义。如果您确定正在执行 javascript,请检查以下内容:

  1. 由于它是一个 ID,因此请确保该 ID 也没有分配给另一个标签。
  2. 您是否有任何其他适用于标签的 css 声明?

尝试将声明更改为:

a.brown{ color: brown;} 

或者 .brown 一个 {color: brown;}

取决于您是否使用$("#leistungen a").addClass("brown");$("#leistungen").addClass("brown");

于 2009-09-18T10:59:38.007 回答
0

你安装了萤火虫?在萤火虫中,您需要检查是否正在添加该类。如果它被添加,则刷新您的浏览器缓存,否则检查您的 javascript。

于 2009-09-18T10:23:01.293 回答