在javascript中更改类名而不更改样式
我无法禁用某些元素上的事件(甚至通过element.onclick=null),所以我决定更改元素的名称。在javascript中更改类名而不更改样式,javascript,html,internet-explorer-8,Javascript,Html,Internet Explorer 8,我无法禁用某些元素上的事件(甚至通过element.onclick=null),所以我决定更改元素的名称。 我刚才试过: element.className = "newOne"; 但它使我的元素消失了,很可能是因为它清除了样式。 我的第二种方法包括保存样式,然后将其重新复制到旧元素: TempStyles = element.styles.cssText; element.className = "newOne"; element.styles.cssText = tempStyles;
我刚才试过:
element.className = "newOne";
但它使我的元素消失了,很可能是因为它清除了样式。我的第二种方法包括保存样式,然后将其重新复制到旧元素:
TempStyles = element.styles.cssText;
element.className = "newOne";
element.styles.cssText = tempStyles;
我尝试了使用.cssText和不使用.cssText两种方法,但没有一种有效。!!!我的限制是IE8,没有jQUERY 如果您以前将一个类归因于该HTML元素,那么执行
element.className=“newOne”
将用newOne
替换所有其他类以及与它们相关的任何样式
如果要维护旧类和相应的样式,必须将新类附加到HTML元素中:
element.className += " newOne";
请注意,新类名前有额外的空格。需要将新类名与前一个类名分开,这样属性将保存
oldClassnewOne
,而不是oldClassnewOne
。这样,您的元素现在有两个类。您最初是如何将事件添加到特定元素的?请显示足够的“”代码,以便我们可以重现您的问题,帮助解决问题,并且很可能指出您可能在一开始就造成问题的错误。您是否尝试过您可以尝试保留旧类,但在它之后附加另一个类并重写?element.className=“oldClass newOne”;然后使用!重要的;flag…Pete很好,如果你只是想删除事件,请按照Pete的建议去做。我不能使用EventListener,因为ie8不支持它,只支持attachEvent/detachEvent,但某些进程一直在覆盖它。我需要知道的只是标题HX中提到的帮助,但我需要更改类名以防止使用它,因此必须删除旧名称。@Arkadiusz抱歉,我误解了这个问题。你能上传一些代码到或类似的网站上,以便更好地理解你想要实现的目标和你得到的东西吗?