Javascript 如何使用div id获取li的onclick事件
如果代码段如下所示:Javascript 如何使用div id获取li的onclick事件,javascript,yui,Javascript,Yui,如果代码段如下所示: <div id="test"> <div> <h3>First section</h3> <ul> <li><a href="http://example.com">Item 1</a></li> <li><a href="http://example.com">Item 2</a></li> <l
<div id="test">
<div>
<h3>First section</h3>
<ul>
<li><a href="http://example.com">Item 1</a></li>
<li><a href="http://example.com">Item 2</a></li>
<li><a href="http://example.com">Item 3</a></li>
</ul>
</div>
<div>
<h3>Second section</h3>
<ul>
<li><a href="http://example.com">Item 4</a></li>
<li><a href="http://example.com">Item 5</a></li>
<li><a href="http://example.com">Item 6</a></li>
</ul>
</div>
</div>
这仅适用于第一部分ul。对于Nuls,我需要同样的结果。最好的方法是什么。提前谢谢
注意:在我的项目中,我不能使用jquery。只支持javascript或YUI在每个
ul
上迭代,并向其中添加单击处理程序
var uls=document.getElementById(“test”).getElementsByTagName(“ul”);
对于(变量i=0;i
第一节
第二节
在每个ul
上迭代,并向其中添加单击处理程序,如下所示
var uls=document.getElementById(“test”).getElementsByTagName(“ul”);
对于(变量i=0;i
第一节
第二节
您可以使用事件委派来实现预期结果
event.target
//获取div测试的对象
var testDiv=document.getElementById('test');
//div测试对象的Bind onclick事件
testDiv.onclick=函数(e){
//阻止默认href操作(可选)
e、 预防默认值();
//检查目标元素是否为锚定标记
如果(e.target.nodeName=='A'){
警报(e.target.innerHTML);
}
}
第一节
-
-
-
第二节
-
-
-
您可以使用事件委派来实现预期结果
event.target
//获取div测试的对象
var testDiv=document.getElementById('test');
//div测试对象的Bind onclick事件
testDiv.onclick=函数(e){
//阻止默认href操作(可选)
e、 预防默认值();
//检查目标元素是否为锚定标记
如果(e.target.nodeName=='A'){
警报(e.target.innerHTML);
}
}
第一节
-
-
-
第二节
-
-
-
var ul = document.getElementById("test").getElementsByTagName('ul')[0];
ul.onclick = function(event) {
event = event || window.event;
var target = event.target || event.srcElement;
alert(target.getAttribute("href"));
};