我需要获取我正在使用的普通JS(没有jQuery或其他框架)中的单击元素的parentNode,document.getElementById("item_click")
但我想改为id="item_click",class="item_click"所以我可以使用多个框.我只是不知道如何this在脚本中集成
这是一个小提琴 <<<玩它
HTML
<div class="item">
<div class="item-tester" >
<div class="item-icon"></div>
<div class="item-title">Item Title</div>
</div>
<div id="item_click" onmousedown="new_class(event)" onmouseup="revert_class(event)" onmouseout="revert_class(event)"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
function new_class(event) {
wClick = document.getElementById("item_click");
wTile = wClick.parentNode;
wTile.className = wTile.className + " added-class";
}
function revert_class(event) {
wTile.className = "item";
}
?
Run Code Online (Sandbox Code Playgroud)
我想改变
wClick = document.getElementById("item_click");
wTile = wClick.parentNode;
Run Code Online (Sandbox Code Playgroud)
喜欢的东西
wClick = this;
wTile = wClick.parentNode;
Run Code Online (Sandbox Code Playgroud)
我知道如何在jQuery的做到这一点,但纯JS,因为它不会工作this 将是window(我认为)
BTW.我需要(事件),因为这只是我正在使用的整个代码的简化.
function new_class(event) {
wTile = event.target.parentNode;
wTile.className = wTile.className + " added-class";
}
Run Code Online (Sandbox Code Playgroud)
您可以只使用event.target.parentNode(甚至不需要event在函数中传递):
function new_class() {
var parent = event.target.parentNode;
// Do whatever...
}
Run Code Online (Sandbox Code Playgroud)