JavaScript 学习笔记——cssText

JavaScript 学习笔记——cssText平常编写代码,更改一个元素样式的时候,自己都是用obj.style.width=”200px”;obj.style.position=”absolute”;obj.style.left=”100px”;之类的代码进行设置,这样的话如果更改样式很多的时候,就要写很多代码,难道不能像Jquery那样使用$(obj).css(……);这样进行设置么?于是自己搜了下使用Javascript批

大家好,又见面了,我是你们的朋友全栈君。

平常编写代码,更改一个元素样式的时候,自己都是用

obj.style.width = "200px";
obj.style.position = "absolute";
obj.style.left = "100px";

之类的代码进行设置,这样的话如果更改样式很多的时候,就要写很多代码,难道不能像Jquery那样使用$(obj).css(……);这样进行设置么?

于是自己搜了下使用Javascript批量修改样式的方法。于是看到这篇文章,原来是有一个 cssText 属性的,看来自己的基础知识掌握的还并不充分呐

在w3school中查询了下用法

它是一组样式属性及其值的文本表示。这个文本格式化为一个 CSS 样式表,去掉了包围属性和值的元素选择器的花括号。

将这一属性设置为非法的值将会抛出一个代码为 SYNTAX_ERR 的 DOMException 异常。当 CSS2Properties 对象是只读的时候,试图设置这一属性将会抛出一个代码为 NO_MODIFICATION_ALLOWED_ERR 的DOMException 异常。

cssText 的使用    

obj.cssText = " width:200px;position:absolute;left:100px;";

正如那篇文章所提cssText会清除之前元素含有的样式,所以得使用

obj.cssText += " width:200px;position:absolute;left:100px;";

但是在IE中的最后一个分号会被删除

obj.cssText += " ;width:200px;position:absolute;left:100px;"; //这样便能解决在IE中出现的问题了

可这样代码也显得有些麻烦(起码在我自己看来),于是又找了找其他方法

//使用JSON
function setStyle(obj,json){ 
   
    for(var i in json)
    {
        obj.style[i]=json[i];
    }
}

使用的时候直接

setStyle(obj,{ 
   width : '200px'; position : 'absolute'; left : '100px';});

自我感觉这样方法倒是挺不错

非原创,只是怕自己看到的东西忘记了,存在这里,随时查看 :),笔记嘛,哈哈

原文:http://rguanghui.sinaapp.com/2013/02/26/javascript_study_note_csstext/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159230.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月14日 上午8:36
下一篇 2022年7月14日 上午8:36


相关推荐

  • win server服务器 关闭危险端口 135,137,138,139,445的方法

    win server服务器 关闭危险端口 135,137,138,139,445的方法转至:https://www.cnblogs.com/su-root/p/10988875.htmlWindows默认开放135、137、138、139和445五个端口,都与文件共享和打印机共享有关

    2022年7月2日
    30
  • 卷出新高度!智谱GLM

    卷出新高度!智谱GLM

    2026年3月12日
    2
  • PS磨皮神器来了,一键修出美美的自己! Portraiture(附带安装教程)

    PS磨皮神器来了,一键修出美美的自己! Portraiture(附带安装教程)后期修图中有一个非常关键而且不可或缺的步骤,那就是磨皮磨皮的方法有很多种但最方便快捷就能达到大片级效果的方法莫过于使用磨皮插件了但是目前市面上磨皮插件众多该如何选择呢?经过多次磨皮效果对比评选出了最方便用户覆盖率最高的磨皮插件Portraiture磨皮插件支持PS2015-2021版本WIN&MAC系统皆可兼容含独家安装教程+使用教程哦Portraiture是一款PS磨皮滤镜,减少了人工选择图像区域的重复劳动。它能智能地对图.

    2022年7月22日
    29
  • 搭建nexus3私库简要步骤

    搭建nexus3私库简要步骤搭建nexus私库简要步骤:安装nexus登录nexus页面端默认地址http://loaclhost:8081登录nexus账号默认admin/admin123maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jarmaven-releases:私库发行版jar,初次安装请将Deploymentpolicy设置为Allowredeploymaven-snapshots:私库快照(调试版本)jarm

    2022年7月18日
    17
  • php批量修改怎么实现,PinPHP购物分享系统2.2后台批量采集修改实现方法

    php批量修改怎么实现,PinPHP购物分享系统2.2后台批量采集修改实现方法因前段时间较忙,所以一直将这开发搁置了。今天看了一下新版的PinPHP,又心血来潮于是写了一下这个批量采集的实现,没想到写了差不多一两小时就实现了,虽然写得比较简单,也算是可以帮助一键采集一个分类。同时非常感谢PinPHP团队开发出如此好使的开源程序,哈,闲话先不多说,上代码。附源文件:下载源代码请猛击这里>>主要是对一个模板文件作了修改。/PinPHP_V2.21/admin/Tpl…

    2022年6月6日
    26
  • Java构造器理解

    Java构造器理解转载自 https www cnblogs com grl214 p 5895854 html 目录 构造器的引入构造器的命名规则中的问题使用构造器执行初始化疑问解答一 构造器的引入理解构造器之前 首先我们需要知道 Java 中为什么要引入构造器 以及构造器的作用 假设我们每一次编写一个类都要执行一个 initialize 方法 该方法是提醒你 在使用对象之前 应首先调用 initialize 方法进

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号