【发布时间】:2013-01-04 15:08:27
【问题描述】:
我有一个这样的 div:
<div onclick="highlightFunction(<?php echo $id?>);">
我有以下js代码:
function highlightFunction(id) {
var id = "stuff" + stuff_id;
$('#boss-stuff').find('div').removeClass('highlight-stuff');
var stuff = $('#' + id).find('div')[0];
var jStuff = $(stuff);
jStuff.addClass("highlight-stuff");
}
这段代码被放置在一个 onlick 句柄函数中。
“highlight-stuff”类只是添加了背景颜色。
我尝试了各种方法,从带有 document.getElementById().className 的 javascript 到 jQuery element.attr("class","stuff") 等。所有这些都适用于各种浏览器,但是 IE 8 和 9 不起作用。背景没有改变。
请帮忙,谢谢,我真的很感激。如果您需要代码中的更多内容,请告诉我。
有人解释说:id 是唯一的,因此不会有超过一个具有相同 id 的元素。 $('#boss-stuff') 有一个 $('#id') 列表。 $('#id') 是一个 li 元素,有 div child(ren)。我想为 div 类添加背景颜色。
【问题讨论】:
-
什么是
jEle?您没有发布它的价值来源。 -
对不起,这是一个拼写错误。我已经在问题中解决了它。
-
好吧,
.addClass()和.removeClass()绝对可以在 IE 中使用。您确定该类的 CSS 不是真正的问题吗? -
CSS 很长,如果需要澄清问题,我会尝试以可读的方式减少它。代码可以在 Chrome、Firefox 上运行,但 CSS 是否仍有故障导致 IE 8 和 9 无法运行?
-
您说 addClass 和 removeClass 不起作用,但您没有提供任何证据。我们不知道是添加类失败,还是根本没有应用样式。弄清楚这一点,然后回到我们身边。
标签: javascript jquery internet-explorer-8 internet-explorer-9 addclass