innerHTML
实例:
<ul id="list1">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script>
// 设置id为list1的元素的字体颜色
var box=document.getElementById("list1").getElementsByTagName("li");
for(var i=0;i<box.length;i++){
console.log(box[i].innerHTML);
}
打印结果:
1
2
3
具体来说,innerHTML是获取和设置标签之间的文本和html内容,上例没有html内容,所以获取的是标签之间的文本。
如果li中还有别的标签的话,就可以获取出来,比如
<li><i>1</i></li>
那么获取N的就是<i>1</i>
className
与innerHtml类似,不写等号用来获取,写等号用来设置
例如:
<style>
.current{background: #ccc;color: #f00;}
</style>
<script>
var lis=document.getElementById("list").getElementsByTagName("li");
for(var i=0,len=lis.length;i<len;i++){
console.log(lis[i].innerHTML);
lis[i].innerHTML+='程序';
lis[1].className="current";
}
</script>
结果:
这是审查元素时显示的,若是你想添加类的那个标签已经有了别的类,那么使用className是会使原有类消失呢,还是会把新加的类加到原有类后面呢?
经试验,会覆盖掉原有的类,所以ele.className是重新设置类,替换元素本身的class