HTML 代码:
<div id="section">
<div id="title" onclick="hideBody()"></div>
<div id="body"></div>
</div>
如何id="body"
使用...访问元素this.
?
例子:
this.parent.child[1];
HTML 代码:
<div id="section">
<div id="title" onclick="hideBody()"></div>
<div id="body"></div>
</div>
如何id="body"
使用...访问元素this.
?
例子:
this.parent.child[1];
您可以使用nextElementSibling
.
例子:
function hideBody(el) {
'use strict';
var sibling = el.nextElementSibling;
console.log(sibling);
sibling.style.visibility = 'hidden';
}
请参阅jsFiddle。
至于回答你关于子节点的原始问题,有一个childNodes
属性。例如:
var children = document.getElementById('section').childNodes;
相对于“ this
”(显示在 hideBody 函数中):
function hideBody(el) {
'use strict';
var children = el.parentNode.childNodes;
console.log(children);
children[1].style.visibility = 'hidden';
}
我不确定在这里使用“this”是否合适,但您当然可以传递事件并获取点击目标的 ID:
http://jsfiddle.net/isherwood/6k7fc/
<div id="title" onclick="hideBody(event)"></div>
function hideBody(event) {
var myId = event.target.id;
var myEl = document.getElementById(myId);
... do stuff with myEl ...
}
要获取 div 的子节点,请使用:
var childNodes = parent.childNodes;
或者
var { childNodes } = parent;