怎样取div的class 不是ID getElementById

rlangzi 2010-02-21 10:31:31
比如这段

<div id="box">
数据数据
</div>
<script>
document.getElementById("box").innerHTML+="...";
</script>

但是如果有两个需要插入的只能用class了吗?如

<div id="box">
数据数据
</div>
<div id="box">
第二个数据内容
</div>
<script>
document.getElementById("box").innerHTML+="...";
</script>

怎么用class呢?
...全文
294 17 打赏 收藏 举报
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lchy110 2010-02-25
  • 打赏
  • 举报
回复
引用 9 楼 loveapp0522 的回复:
利用Name属性
var divName = document.getElementByName("box");
divName[0].innerHTML+="";
divName[1].innerHTML+="";
控件数组

正确!
如果你用CLASS的话 用jquery 里面有个$(".className");
jquery语法

HTML 代码:
<div class="notMe">div class="notMe"</div>
<div class="myClass">div class="myClass"</div>
<span class="myClass">span class="myClass"</span>jQuery 代码:
$(".myClass");结果:
[ <div class="myClass">div class="myClass"</div>, <span class="myClass">span class="myClass"</span> ]
sjkof 2010-02-22
  • 打赏
  • 举报
回复
name返回的是数组, 要取得元素之后再调用innerHTML
var divName = document.getElementByName("box");
divName[0].innerHTML+="";
divName[1].innerHTML+="";
dandande 2010-02-21
  • 打赏
  • 举报
回复
学习, 我也常遇到这样的问题
loveapp0522 2010-02-21
  • 打赏
  • 举报
回复
利用Name属性
var divName = document.getElementByName("box");
divName[0].innerHTML+="";
divName[1].innerHTML+="";
控件数组
wangsonghf 2010-02-21
  • 打赏
  • 举报
回复
引用 7 楼 rlangzi 的回复:
引用 5 楼 wangsonghf 的回复:<div class="box"> 数据数据 </div> <div class="box"> 第二个数据内容 </div> <script>   document.getElementByName("box").innerHTML+="..."; </script>

这个好像真不行,我上来就用这个了……找了几个帖子说是不能取得元素的CLASS


把class改成name
rlangzi 2010-02-21
  • 打赏
  • 举报
回复
引用 5 楼 wangsonghf 的回复:
<div class="box">
数据数据
</div>
<div class="box">
第二个数据内容
</div>
<script>
  document.getElementByName("box").innerHTML+="...";
</script>


这个好像真不行,我上来就用这个了……找了几个帖子说是不能取得元素的CLASS
firefly515 2010-02-21
  • 打赏
  • 举报
回复
ID肯定不能重了,
我也认为用name比较好
wangsonghf 2010-02-21
  • 打赏
  • 举报
回复
<div class="box">
数据数据
</div>
<div class="box">
第二个数据内容
</div>
<script>
document.getElementByName("box").innerHTML+="...";
</script>
rlangzi 2010-02-21
  • 打赏
  • 举报
回复
先谢谢2楼的解决,id确实是唯一的,但是如果有多个标签都要使用同一个JS,那还是不应该用class吗?如果不用class,该如何解决呢?
  • 打赏
  • 举报
回复
在同一页面中,标签的id 应该是唯一的 。
所以尽量避免同一id的出现
sohighthesky 2010-02-21
  • 打赏
  • 举报
回复
var getByClass=function(cla,scope,tag) {//指定tag后在ie中能更快的查找
scope=scope || document;
if(scope.getElementsByClassName)//非IE中,使用原生的效率应该更高
return scope.getElementsByClassName(cla);
tag=tag || "*";
var els=scope.getElementsByTagName(tag);
var length=els.length;
for(var i=0,res=[],l=0,cur;i<length;i++) {
cur=els[i];
if(typeof(cur.className)!=="undefined" && cur.className.search("\\b"+cla+"\\b") != -1) {
res[l++]=cur;//使用索引来访问数组
}
}
return res;
}
lihan6415151528 2010-02-21
  • 打赏
  • 举报
回复
用name吧。没见过用class的。jQuery里面好像有这个class选择器。
浴火_凤凰 2010-02-21
  • 打赏
  • 举报
回复
在同一页面中,标签的id 应该是唯一的 。
葬月礼 2010-02-21
  • 打赏
  • 举报
回复
js
id 唯一 getElementById()
name 多个,可以重复 getElementByName();


<div id="box"></div>
<div class="box1"></div>
<div class="box2"></div>

jquery选择器中

$("#box")相当于 ( <div id="box"></div> )
$(".box")相当于 ( <div class="box1"></div> <div class="box2"></div>)
ivws_19 2010-02-21
  • 打赏
  • 举报
回复
多个就用name ...
dext 2010-02-21
  • 打赏
  • 举报
回复
<div id="total">
<div>
数据数据
</div>
<div>
第二个数据内容
</div>
</div>
<script>
$("#total div").each(...);
</script>
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-02-21 10:31
社区公告
暂无公告