2012-10-07 49 views
0

比方说,我们有这样的名单:如何找到李的父母是谁?

<ul title="Fruit"> 
<li onClick="func(this)">Apple</li> 
<li onClick="func(this)">Banana</li> 
</ul> 
<ul title="Meat"> 
<li onClick="func(this)">Chiken</li> 
<li onClick="func(this)">Duck</li> 
</ul> 

是否可以从中找到UL被点击?

+0

是。不是你必须要,但你应该检查jQuery,因为它在这个东西很棒。 – keyser

+0

'this.value'将是未定义的。 – xdazz

+0

@xdazz是你的权利我改变了它哟“这个” – a1204773

回答

1

是,使用parentNode

<script type="text/javascript"> 
    function func(el) { 
     alert(el.parentNode.title);  
    } 
</script> 

<ul title="Fruit"> 
<li onClick="func(this)">Apple</li> 
<li onClick="func(this)">Banana</li> 
</ul> 
<ul title="Meat"> 
<li onClick="func(this)">Chiken</li> 
<li onClick="func(this)">Duck</li> 
</ul>​​​​​ 

还要注意的是value仅用于form元素,如inputselect

DEMO

+0

它的作品谢谢你! – a1204773

+0

@Loclip:当然,不客气! –

1

您只需将this传递给该函数,并使用.parentNode来获取其父项。

function func(element) { 
    var parent = element.parentNode; 
    // ... 
} 
+0

谢谢你的回答! – a1204773

1
if(this.parentNode.title === "Fruit") { 
// first one 
} 
else { 
    // the other ul 
} 
+0

谢谢你的回答! – a1204773

0

obj.parentNode或者只是使用jQuery:$(obj).parent()

+0

jQuery中的“just”选项需要更多的字符,所以也许“只是'.parentNode'更适合。 – RobG