一个元素,css文件中定义了属性,通过javascript设置style后如何恢复css中定义的属性?

cat_hsfz 2006-10-26 01:02:16
<style>
#panel{color: #FF0000;}
</style>
<div id="panel">一些文本</divl>
<script type="text/javascript">
function setPanelColor(color)
{
document.getElementById("panel").style.color = color;
}

function clearPanelColor()
{
//在这里,我需要撤销setPanelColor()的赋值,恢复CSS所设置color属性
//不能将CSS设置的color属性在这里硬编码,要求无论CSS是怎样的都能正确恢复
}
</script>

我现在使用的代码是:
document.getElementById("panel").style.color = null;
请问这样的做法:
1.符合标准吗?
2.是跨浏览器的做法吗?
3.有更好的做法吗?

最后一个问题:
如果我需要清除的不仅仅color属性,而是希望让style下的所有属性清空,让HTML元素仅体现CSS中的属性,有没有快捷的方法?
...全文
855 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
IQuestionHandler 2007-02-14
  • 打赏
  • 举报
回复
设置为null就可以了。
cloudgamer 2006-12-16
  • 打赏
  • 举报
回复
帮顶
ImN1 2006-12-16
  • 打赏
  • 举报
回复
如果失去用原来的class,可以按楼上的方法做
如果仅仅是针对color
建议在第一次改变前先把原有的值暂存到一个变量,就好办了
lovefootball 2006-10-27
  • 打赏
  • 举报
回复
document.getElementById("panel").className = panel;

你可以把HTML元素和className都用参数传递过来
cat_hsfz 2006-10-27
  • 打赏
  • 举报
回复
实际上我现在在用别人提供的JavaScript库,我不想去改动或重写库中的代码,而我自己写的代码也就是clearPanelColor()部分。setPanelColor()是属于库中代码,所以改动setPanelColor()不是一个好的办法。
zeroleonhart 2006-10-26
  • 打赏
  • 举报
回复
<script type="text/javascript">
var oldcolor;
function setPanelColor(newcolor)
{
oldcolor = document.getElementById("panel").style.color;
document.getElementById("panel").style.color = newcolor;
}

function clearPanelColor()
{
document.getElementById("panel").style.color = oldcolor;
}
</script>

如果想要适用于多个元素的话,oldcolor设为数组来保存元素的id和预设的style项的值,同时函数的入参也应当添加元素的id名
cat_hsfz 2006-10-26
  • 打赏
  • 举报
回复
myvicy(热心肠的人) ,最好也不要id/class硬编码,因为这个函数可能会用于不同的HTML元素,而HTML元素从参数传入。
myvicy 2006-10-26
  • 打赏
  • 举报
回复
.panel{color: #FF0000;}
定义一个类样式。

function clearPanelColor()
{
document.getElementById("panel").className = panel;
//在这里,我需要撤销setPanelColor()的赋值,恢复CSS所设置color属性
//不能将CSS设置的color属性在这里硬编码,要求无论CSS是怎样的都能正确恢复
}
fantiny 2006-10-26
  • 打赏
  • 举报
回复
document.getElementById("panel").style.color = "";
一、网页设计与策划01 网页与网站的概念02 网页核心技术(HTML/CSS/JAVASCRIPT)简介03 什么是HTML04 什么是CSS05 什么是JavaScript06 网页的设计流程07 HTML5概述、浏览器及内核08 编写第一个HTML页面09 HTML页面基本结构10 章节练习二、网页的基本实现(HTML标签)01 HTML基本语法02 标签及属性03 标签04 标题标签05 段落标签06 水平分隔线标签07 换行标签08 文本的格式化标签09 特殊字符标签10 图像标签14 相对路径与绝对路径11 章节练习-《清平乐》12 章节练习-《李清照简介》13 章节练习-《家电排行》15 章节练习-《百度网简介》16 超级链接标签17 锚点链接18 影像地图19 《table》表格标签20 无序列表标签21 有序列表标签22 定义列表标签23 章节练习-《工资明细》24 章节练习-《我的电脑》25 章节练习-《在线考试》三、层叠样式表01 CSS简介02 CSS样式规则03 CSS样式的调用方法04 标签选择器05 类选择器06 ID选择器07 标签指定式选择器08 包含(后代)选择器09 群组选择器10 通配符选择器11 属性选择器12 关系选择器13 链接伪类选择器四、样式属性01 字体属性02 文本属性03 阴影效果04 对象内溢出文本05 背景设置06 定义列表的样式五、盒模型网页布局01 初识盒子模型02 边框属性(border)03 边距属性(padding与margin)04 圆角边框05 阴影效果06 浮动属性(float)07 元素定位(position)08 溢出属性(overflow)

61,115

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧