问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如图,我设置的CSS样式为#goods img,如果我想通过js来对它进行修改,应该如何弄,我用的是原生js?

发布网友 发布时间:2022-04-20 16:22

我来回答

3个回答

懂视网 时间:2022-04-20 20:44

大家都知道在JavaScript原生操作中获取元素的样式,在实际操作是使用时比较频繁的一件事,这里像大家介绍下获取css样式的方法,希望可以帮助一些需要的人,如果有幸被大牛看到,有更好的办法,欢迎提出!!!

一、 行内元素样式获取:

<!DOCTYPE html><html><head>
 <meta charset="UTF-8">
 <title>js获取外部样式</title></head><body>
 <div id="div" style="width:200px;height:200px;border:3px solid cyan;"></div></body><script>
 //获取行间样式
 var div = document.getElementById(‘div‘); var width = div.style.width;
 alert(width);//200px</script></html>

在JS代码中,alert会弹出div元素的width为200px;达到了要获取元素宽度的目的,但是这种简单的方法只适用于获取元素的行内元素样式,并不能获取内部样式和外部样式,在项目中,写入行内元素这种方案并不被大家认同,所以这种方法,只是让大家了解下。

二、 非行间样式元素获取:

如果元素样式并非行间样式,利用上面这种方法并不能获取到元素的样式,需要使用另一种方法:

<!DOCTYPE html><html><head>
 <meta charset="UTF-8">
 <title>js获取内部部样式</title>
 <style>
 #div{
  width: 200px;
  height: 200px;
  border:3px solid cyan;
 }
 </style></head><body>
 <div id="div""></div></body><script>
 var div = document.getElementById(‘div‘); //获取div的width
 var width = window.getComputedStyle(div,null).width;
 alert(width);//200px
 //修改div的width div.style.cssText=‘width:300px;‘</script></html>

在上面代码中,使用了window.getComputedStyle(‘元素‘,null).‘样式‘,此方法兼容性:火狐 谷歌 IE9获取的为计算后的样式,但是这里需要注意的是用此方法获取的值为只读模式,并不能修改,所以用了style.cssText方式修改了其属性,这里需要注意下书写方式.

三、兼容性:

前段潜规则,凡是好的东西都不能通用,是的,你猜对了,任性的IE并不能使用以上方法,但是IE有自己的方法为currentStyle,用法一样,就不再赘述了,下面直接写出已经处理兼容的代码如下:

var div = document.getElementById(‘div‘);if (div.currentStyle) {
 console.log(div.currentStyle.width);
}else{
  console.log(getComputedStyle(div,null).width);
}

方法封装:
function getStyle(obj,name){ if (obj.currentStyle) { return obj.currentStyle[name];
 }else{ return getComputedStyle(obj,false)[name];
 }
}

原生JS获取HTML样式并修改

更多原生JS获取HTML样式并修改 相关文章请关注PHP中文网!

热心网友 时间:2022-04-20 17:52

也要先获取它 也可以给它设置ID 或者通过先获取goods再获取它下边的img
var img =goods.getELementsByTagName("img"); 这里会获取到一个数组 如果只有一个就加下标[0],如果是多个就用for循环挨个设置,案例呢:img.style.backgroundColor ="#fff"注意style某些样式后边要把杠换成驼峰 大小写 具体的你再查吧 js获取元素和js设置CSS

热心网友 时间:2022-04-20 19:10

<script>
document.querySelector("#goods").style.width= "100px";
</script>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
PCR有哪些分类? 不鸣则已 一鸣惊人的三个星座 电动车加装蓝牙音箱怎么接线 怎么把QQ同步助手卸载掉?简直就是垃圾,什么没操作就直接给安装上了,怎... 怎么把QQ同步助手卸载掉?简直就是流氓软件。什么东西没经过我点‘’同 ... excel表如何将相间隔的不同两行组合在一起,成为一行? excel工作表如何对行各自组合 考科目一自己去还是驾校统一去 科目一是自己考还是在驾校 社保转移后,新单位没要转移单,只要了身份证,是不是就可以办理了 什么是社保转移 求一些水果,蔬菜和常见动物的英语词汇,越多越好。 三到六年级学过的表示水果和动物的英语单词有? 用hurt,horse,apple,run四个词语写作文 a horse 还是an? 请问鸡蛋糕怎么做呀? 动物和水果的英语名称 apple,horse,number有什么规律 鸡蛋糕怎样做 horse apple什么意思? constipated horse 顺便也解释一下, 板上周围一圈有一条混凝土梁带叫啥?叫压顶还是砼线条? 第四条依附与梁上的砼线条按延长米怎么计算 零星混凝土包含哪些内容 窗台下十混凝土突出线条算建筑面积吗 混凝土装饰线条套什么定额 人防门上面的混凝土线条是干什么用的 52岁男右乳房上方疼痛看病挂什么科 乳房边缘痛摸有一个小包,应该挂号挂什么科 招商银行信用卡征信电话是多少 胸前两边乳房里象绳子勒的疼,应该卦什么科? 猪脑怎么弄给宝宝吃 三米鱼缸养五斤的清江鱼可以吗 起亚k5哪个国家的 免疫细胞可以储存吗? 起亚k5是那个国家的诞生 起亚k5是哪个国家的品牌 野猪养殖场还需要哪些小设备? 大型养猪场设计 养猪需要哪些设备 免疫细胞在什么时候存呢?想去存一些 起亚k5那个国家产的? 我想养猪,养猪设备应该怎么选 起亚k5是国产的吗 起亚K5是哪个国家产的 怎样进行猪场的建设和设备选择? 你好,请问您那有橡胶支座外观及内在质量的检测报告模板和记录吗?能不能发一份给我呢? 起亚k5是哪个国家的起亚K5召回折射出了什么 免疫细胞存储脂质,帮助乳腺癌细胞肺部定植,该如何理解? 起亚K5凯酷8AT是哪个厂家 螺丝的检验报告怎么写 免疫细胞存储#为什么存储免疫细胞 我建行信用卡一张主卡一张副卡不小心把钱还到副卡上怎么办?