javascript取出当前元素的父级元素问题

时间:2021-07-06 13:30:34
我有这么一个html


<div class="menubar">
<ul class="fl">
<li><a href="#" class="nopp">剪切</a> <a href="#">复制</a> <a href="#">粘贴</a> <a href="#">删除</a> <a href="#">重命名</a></li>
<li><a href="#" target="#">WabDav查看<em>&nbsp;</em></a>
<ul>
<li><a href="#">WabDav编辑</a></li>
<li><a href="#">WabDav删除</a></li>
</ul>
</li>
<li><a href="#">检入</a> <a href="#">检出</a></li>
<li><a href="#" onclick="获得这个li中的ul标签">锁定文件<em>&nbsp;</em></a>
<ul>
<li><a href="#">解锁文件</a></li>
</ul>
</li>
<li><a href="#">新建文件</a> <a href="#">上传</a></li>
<li class="endli"><a href="#">列表方式<em>&nbsp;</em></a></li>
</ul>
<ul class="fr">
<li class="endli"><a href="#">当前文件夹搜索</a>  | <a href="#">日志</a> <a href="#">刷新</a> <a href="#">返回上级</a></li>
</ul>
</div>


7 个解决方案

#1



<a href="#" onclick="alert(this.parentNode);">解锁文件</a>

#2


<div id="parent"><input type="button" value="test" onclick="alert(this.parentNode.id);" /></div>

#3


引用 1 楼 duwa789 的回复:
HTML code<ahref="#" onclick="alert(this.parentNode);">解锁文件</a>

引用 2 楼 ck11926375 的回复:
HTML code<divid="parent"><inputtype="button" value="test" onclick="alert(this.parentNode.id);"/></div>

有问题啊,不行啊,提示错误,错误为“is null or not an object”

#4


引用 2 楼 ck11926375 的回复:
HTML code<div id="parent"><input type="button" value="test" onclick="alert(this.parentNode.id);"/></div>

对的

#5


没错啊

#6


UP

#7



function showul(obj,son){
var obj = obj.parentNode.parentNode.getElementsByTagName(son);
var xobj = obj[0].getElementsByTagName('li');
if(obj[0].style){
obj[0].style.visibility = 'visible';
}
for(var i=0;i<xobj.length;i++){
xobj[i].onmouseover = function(){
obj[0].style.visibility = 'visible';
}
xobj[i].onmouseout = function(){
obj[0].style.visibility = 'hidden';
}
}
}




               <li><a href="#">WabDav查看<em onclick="showul(this,'ul')">&nbsp;</em></a>
<ul>
<li><a href="#">WabDav编辑</a></li>
<li><a href="#">WabDav删除</a></li>
</ul>
</li>


已经实现了,谢谢各位的启发。

#1



<a href="#" onclick="alert(this.parentNode);">解锁文件</a>

#2


<div id="parent"><input type="button" value="test" onclick="alert(this.parentNode.id);" /></div>

#3


引用 1 楼 duwa789 的回复:
HTML code<ahref="#" onclick="alert(this.parentNode);">解锁文件</a>

引用 2 楼 ck11926375 的回复:
HTML code<divid="parent"><inputtype="button" value="test" onclick="alert(this.parentNode.id);"/></div>

有问题啊,不行啊,提示错误,错误为“is null or not an object”

#4


引用 2 楼 ck11926375 的回复:
HTML code<div id="parent"><input type="button" value="test" onclick="alert(this.parentNode.id);"/></div>

对的

#5


没错啊

#6


UP

#7



function showul(obj,son){
var obj = obj.parentNode.parentNode.getElementsByTagName(son);
var xobj = obj[0].getElementsByTagName('li');
if(obj[0].style){
obj[0].style.visibility = 'visible';
}
for(var i=0;i<xobj.length;i++){
xobj[i].onmouseover = function(){
obj[0].style.visibility = 'visible';
}
xobj[i].onmouseout = function(){
obj[0].style.visibility = 'hidden';
}
}
}




               <li><a href="#">WabDav查看<em onclick="showul(this,'ul')">&nbsp;</em></a>
<ul>
<li><a href="#">WabDav编辑</a></li>
<li><a href="#">WabDav删除</a></li>
</ul>
</li>


已经实现了,谢谢各位的启发。