如何利用js实现在指定节点添加style?

网页原样式如下:
<div class="ABC" /div>
想增添style样式,改为:
<div class="ABC" style="with:60px" /div>
要求用运行js实现。js代码怎么写?关键是我不会定位到指定节点,浏览器不支持getElementsByClassNamm()函数。望大侠指导!!!

通过节点的style属性添加

1、定义一个节点

<div id='tsdiv'></div>

2、获取div节点

var domdiv = document.getElementById('tsdiv');//通过document.getElementById获取dom节点

3、添加style

div.style.display = 'none';//添加style属性,设置display样式为none

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-13

首先,你提供的需求太模糊,我只能给你个大概的写法,你参照一下,如果有不懂的你继续问我

其次,我不知道你在问题里提供的这些代码是复制的有问题还是什么原因,大部分都有错误

下面是代码你参考一下吧:

//js部分
window.onload=function(){
document.getElementsByTagName("div").item(0).style.width="60px";
}

<!-- html部分 -->
<div class="ABC"></div>

追问

原网页代码不变,我想运行自己的js代码,达到优化原网页的不足。傲游浏览器可以自己导入js脚本。id类解决了,可是class没法解决。怎么定位className为ABC。

追答

正理来讲,如果遨游支持DOM3的话获取CLASSNAME应该这么写:

document.getElementsByClassName("ABC").item(0).style.width="60px"

注意item(0)

因为w3规定多个HTML元素可以同一个样式,所以document.getElementsByClassName("ABC")获取的不单是一个HTML元素,而是一个HTML元素数组


所以想要获取其中指定的某个就得知道他在这个class里的数组位置,比如你有两个div,他的class都叫ABC:

<div class="ABC">第一个</div>
<div class="ABC">第二个</div>

你想获取第一个class为ABC的div你item里就得填0,第二个填1,以此类推。

本回答被提问者采纳
第2个回答  2015-10-28
可以使用jquery的attr方法添加style

比如给id="div1"的div添加背景色可以用如下代码实现
$("#div1").attr("background-color","red");//将背景色改为红色
相似回答