Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript onclick获取div id?_Javascript_Html - Fatal编程技术网

javascript onclick获取div id?

javascript onclick获取div id?,javascript,html,Javascript,Html,是否可以使用javascript在单击按钮时获取2个div标记的ID <div id="main"> <div id="content"> </div> <button onclick="function();">show it</button> </div> document.getElementById('button')。onclick=function(){ var divs=document.querySelec

是否可以使用javascript在单击按钮时获取2个div标记的ID

<div id="main">
<div id="content">
</div>
<button onclick="function();">show it</button>
</div>
document.getElementById('button')。onclick=function(){
var divs=document.querySelectorAll('div');
对于(变量i=0;i

您需要将元素传递给函数。然后可以使用
parentNode
获取包含该按钮的
DIV
。从那里,您可以使用
querySelector
查找父级中的第一个
DIV

函数showIt(元素){
var parent=element.parentNode;
警报(parent.id);
var content=parent.querySelector(“div”);
警报(content.id);
}

表现出来
表现出来
表现出来

这应该适用于所有浏览器,并使用cleaner
.id
方法

var-button=document.getElementById('button');
button.onclick=getid;
函数getIDs(){
变量id,divs=document.getElementsByTagName('div');
对于(var i=0;i

表现出来

通过id获取元素:
element.getElementById(“main”)。这就是你要问的吗?他想找出ID,当我点击按钮时,我想得到2个div的ID。你知道HTML的顺序。因此,你可以只获取父节点,然后获取每个节点的ID属性。人们是否可以停止投票否决这个问题,这是一个合理的问题。不是每个人都像你一样走同样的学习道路!我有很多div,每个div里面都有一个按钮,当我点击div里面的按钮时,我想得到div的id,但是它会很脆弱。不是解决方案的问题,而是问题的问题。这一页上还有其他的吗?如果是这样的话,你也会得到他们的ID。如果你要使用
querySelector
,你也可以使用
element.previousElementSibling
element.parentNode.firstElementChild
,我认为这更适合这种情况。好的一点是,我对这些属性不是很熟悉。我的第一次尝试使用了
firstChild
,但由于DIV前面的文本节点而失败,因此我切换到
querySelector
。啊,是的,这些有时会返回文本节点。像素属性始终返回元素节点。我在实现你的答案时添加了代码,但我有一个错误,它一直在重复。Hi@Myel,你能不能简单地描述一下你想做什么,而不是技术性的。
alert: main
alert: content
document.getElementById('button').onclick = function () {
    var divs = document.querySelectorAll('div');
    for (var i = 0; i < divs.length; i++) {
        var id = divs[i].getAttribute('id');
        alert(id);
    }
};