需要“这个”方面的帮助;在Javascript
Need help on "this" in Javascript
当div中的每个按钮被单击时,我希望父div消失。而不是写onclick="this.parentNode.style. "对于每个按钮,我想调用一个函数done()来使我的代码更干净,但是我的语法在done()中不起作用。什么好主意吗?
<div id="arms_1" class="col_1">
<p></p>
<p></p>
<p></p>
<button type="button" onclick="this.parentNode.style.display='none'">Done</button>
</div>
<div id="arms_2" class="col_2">
<p></p>
<p></p>
<p></p>
<button type="button" onclick=done()>Done</button>
</div>
<div id="arms_3" class="col_3">
<p></p>
<p></p>
<p></p>
<button type="button" onclick=done()>Done</button>
</div>
<script>
function done(){
this.parentNode.style.display='none';
};//done fuction ends
</script>
试试
<div id="arms_3" class="col_3">
<p></p>
<p></p>
<p></p>
<button type="button" onclick=done(this)>Done</button>
</div>
<script>
function done(obj){
obj.parentNode.style.display='none';
};//done fuction ends
</script>
将(this)
添加到您的done
中,然后将其添加到您的函数中
jsfiddle
代码<script type="text/javascript">
function done(obj) {
obj.parentNode.style.display = 'none';
}
</script>
<div id="arms_1" class="col_1">
<p></p>
<p></p>
<p></p>
<button type="button" onclick="this.parentNode.style.display='none'">Done</button>
</div>
<div id="arms_2" class="col_2">
<p></p>
<p></p>
<p></p>
<button type="button" onclick="done(this);">Done</button>
</div>
<div id="arms_3" class="col_3">
<p></p>
<p></p>
<p></p>
<button type="button" onclick="done(this);">Done</button>
</div>
尝试使用setAttribute()代替:
<script>
function done(){
this.parentNode.setAttribute('display', 'none);
};//done function ends
</script>
函数内部的this
与内联onclick
中的this
不一样。试着把它传进去。
function done(that){
that.parentNode.style.display='none';
};//done fuction ends
<div id="arms_1" class="col_1">
<p></p>
<p></p>
<p></p>
<button type="button" onclick="this.parentNode.style.display='none'">Done</button>
</div>
<div id="arms_2" class="col_2">
<p></p>
<p></p>
<p></p>
<button type="button" onclick=done(this)>Done</button>
</div>
<div id="arms_3" class="col_3">
<p></p>
<p></p>
<p></p>
<button type="button" onclick=done(this)>Done</button>
</div>
在函数内部,this
是Window
对象。在内联单击处理程序中,它引用button
。根据您所处的执行上下文,this
可以指不同的东西。
相关文章:
- 使用密码对话框Javascript请求帮助
- JavaScript计算帮助(乘以时间)
- JavaScript,JQuery.需要帮助才能获得'name'从我的JSON中删除
- 在JavaScript中处理数组和对象时需要帮助
- JavaScript表单提交帮助
- 需要有关修剪JavaScript的帮助
- 需要Javascript参数帮助
- 需要一些str.indexOf帮助javascript
- 调试帮助(JavaScript初学者)
- 语法错误,调试帮助(Javascript)
- 自动播放帮助Javascript和Iframe
- 帮助Javascript改变时间速度
- onblur和onfocus帮助- Javascript函数的替代品
- 作业帮助- Javascript硬币罐
- 帮助Javascript链接替换
- 帮助JavaScript替换
- 帮助javascript正则表达式
- 如果文本字段为空,不要发送!-帮助JavaScript
- 需要帮助javascript array=[]以及如何输出数组中变量的名称和值
- 帮助Javascript程序,我正在工作