首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果我没有在<div>中声明ID怎么办?

如果我没有在<div>中声明ID怎么办?
EN

Stack Overflow用户
提问于 2011-03-31 16:13:12
回答 7查看 183关注 0票数 2

如果不声明id属性,我如何访问任何<div>。DOM本身会创建ID吗?

例如:

代码语言:javascript
代码运行次数:0
运行
复制
<div class="common_class" onmouseover="know_your_div(this)">
</div>

<script type="text/script">
   function know_your_div(obj){
     /* 
     Here i want to access the div object not by class because of it's common
     for all div
     */
   }
</script>
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-31 18:40:23

答案就在你的问题里,让我试着帮你

代码语言:javascript
代码运行次数:0
运行
复制
<div class="common_class" onmouseover="know_your_div(this)"> </div>

var oldObject = "";
function know_your_div(obj) {

  // write ur condition if/ese/while/..

    obj.parentNode.do_Something(); OR obj.parentNode.ID/Class/value

    oldObject = obj;

}
票数 0
EN

Stack Overflow用户

发布于 2011-03-31 16:19:55

好的,你的问题的答案就在你的代码里。

know_your_div函数接受的obj参数在onmouseover属性中作为this提供。因此,这就是您的div

票数 4
EN

Stack Overflow用户

发布于 2011-03-31 16:15:38

要在所有浏览器中访问它并不是一种简单的方法。你最好的办法就是在上面创建一个ID。有什么原因你做不到吗?

除此之外,您必须使用DOM遍历方法导航到它,如果您的DOM结构发生了根本的变化,这些方法就会变得非常不稳定。代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
document.body.childNodes[3].childNodes[2].childNodes[4];

代码语言:javascript
代码运行次数:0
运行
复制
document.getElementsByTagName('DIV')[22]; // 23rd DIV in the page

等等。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5496929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档