是否可以使用javascript在单击按钮时获取2 div标记的it?
<div id="main">
<div id="content">
</div>
<button onclick="function();">show it</button>
</div>我这里有两个div标签。第一个div在主div中,内容div在主div内,按钮也在主div内。
在单击按钮时,可以获得2 div标记的主和content id吗?
当我按下按钮时,预期的输出:
警告:主要警告:内容
发布于 2015-05-07 22:44:26
您需要将元素传递给函数。然后可以使用parentNode获取包含按钮的DIV。在那里,您可以使用querySelector查找父级中的第一个DIV。
function showIt(element) {
var parent = element.parentNode;
alert(parent.id);
var content = parent.querySelector("div");
alert(content.id);
}<div id="main">
<div id="content">
</div>
<button onclick="showIt(this);">show it</button>
</div>
<div id="main2">
<div id="content2">
</div>
<button onclick="showIt(this);">show it</button>
</div>
<div id="main3">
<div id="content3">
</div>
<button onclick="showIt(this);">show it</button>
</div>
发布于 2015-05-07 22:51:19
这应该适用于所有浏览器,并使用更干净的.id方法。
var button = document.getElementById('button');
button.onclick = getIDs;
function getIDs(){
var id,divs = document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
id = divs[i].id // .id is a method
alert(id);
}
}<div id="main">
<div id="content"></div>
<button id="button">show it</button>
</div>
发布于 2015-05-07 22:42:16
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);
}
};http://jsfiddle.net/jm5okh69/1/
https://stackoverflow.com/questions/30112838
复制相似问题