javascript 使用 onclick 函数隐藏父元素

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17399897/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 08:11:13  来源:igfitidea点击:

Hide parent element with onclick function

javascript

提问by DextrousDave

I use jQuery most of the time, so I am having a bit of trouble with the following (simple) javascript:

我大部分时间都在使用 jQuery,所以我在使用以下(简单的)javascript 时遇到了一些麻烦:

I want to dismiss(hide) the parent element of a p tag when clicking on it:

我想在点击它时关闭(隐藏)ap 标签的父元素:

HTML:

HTML:

<div class="parent">
     <p id="dismiss" onclick="dismiss();">dismiss this box</p>
</div>

JS:

JS:

function dismiss(){
    document.getElementById('dismiss').pDoc.parentNode.style.display='none';
};

Fiddle:http://jsfiddle.net/CUqmn/3/

小提琴:http : //jsfiddle.net/CUqmn/3/

But this is not working. What would be the correct code?

但这行不通。什么是正确的代码?

Thanks

谢谢

回答by A. Wolff

http://jsfiddle.net/CUqmn/4/

http://jsfiddle.net/CUqmn/4/

function dismiss(){
      document.getElementById('dismiss').parentNode.style.display='none';
};

BTW, as jsfiddle wrap javascript code in loader function, use no wrap in left select box to get it work on jsfiddle.

顺便说一句,作为 jsfiddle 在加载器函数中包装 javascript 代码,在左侧选择框中不使用包装以使其在 jsfiddle 上工作。

回答by A. Wolff

<div class="parent">
 <p id="dismiss" onclick="dismiss(this);">dismiss this box</p>
</div>

function dismiss(el){
  el.parentNode.style.display='none';
};

回答by one2three

You could try:

你可以试试:

HTML:

HTML:

<div class="parent">
     <p id="dismiss" onclick="dismiss(this.parentNode);">dismiss this box</p>
</div>

JS:

JS:

function dismiss(delete){
    delete.style.display='none';
};

This will delete the parent element. Also I just recently found out that you can hide the parent of a parent element like this:

这将删除父元素。此外,我最近才发现您可以像这样隐藏父元素的父元素:

HTML:

HTML:

<div class="parent">
     <p id="dismiss" onclick="dismiss(this.parentNode);">dismiss this box</p>
</div>

JS:

JS:

function dismiss(delete){
    delete.parentNode.style.display='none';
};

Not relevant to this but if you ever want to try it it's there.

与此无关,但如果您想尝试它,它就在那里。

Sorry for my really late reply. 2 years later lol.

抱歉我的回复太晚了。2年后哈哈。