假设我希望所有<textarea>s
都有一些属性,但我不想单独修改所有页面。该网站对所有页面使用通用的.css
文件。
如果是字体,填充,段落着色等的更改,这很容易,我修改了网站.css
文件并且所有页面都继承了。
但是添加像onkeydown="STRING"
(抱歉,不是onclick)或autocomplete="off"
这样的属性怎么样?我可以通过.css文件以任何方式执行此操作,或者我是别无选择,只能在每个textarea中进行硬编码,或者在每个包含文本区域元素的页面上添加一个onload脚本?
答案 0 :(得分:1)
从我的回答here:
CSS不是HTML。您无法使用CSS设置或更改HTML属性的值。
[...]
如果您尝试将元数据分配给类名,然后该类名应用于具有该类名的所有元素,那么(再次)完全不在CSS的范围之内,并且在HTML中根本不可能。将元数据分配给元素的唯一方法是将其指定为该元素的属性。 (如果您不想在标记中指定该类的每个实例上的属性,则可以将属性声明移动到脚本,但是在一天结束时,脚本仍然必须填充每个元素&#39;具有这些值的数据集。但是,根据您的需要,这可能就足够了。)
您不需要为包含textareas的每个页面添加onclick处理程序。您可以将处理程序放在脚本中并链接到每个页面中的该脚本,就像使用样式表一样。如果你的意思是你想单独从样式表中做这个而不修改页面或引入另一个外部文件,那么关于CSS不是HTML或者那个问题的JavaScript的观点仍然存在。
如果这仍然不是一种选择,我恐怕没有其他选择。 autocomplete
属性肯定没有任何内容。