ul,li显示与写法有关吗?遇到二个鬼。 后台生成的添加事件需要用事件代理的形式。就是用delegate,新版本的jquery直接集成在on里边了。http://blog.csdn.net/itchiang/article/details/21596761 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不想用jq,js如何实现 啊? 将事件绑定在body或者你ul的父元素上 然后根据target和srcElement做对应处理 我不想用jq,js如何实现 啊?3楼已经告诉你答案了。 你的代码有问题啊。。空白节点在标准浏览器下也算一个节点去掉空白节点,删除一组nextSibling<div id="menu"><ul><li><em></em><a href="detail.php?id=2">test1</a><ul><li class="end">test2</li><li class="end">test3</li></ul></li><li class="end">tafaf</li></ul><hr /><ul><!--不要留空白节点--> <li><em></em><a href="detail.php?id=2">test1</a><ul> <li class="end">test2</li> <li class="end">test3</li> </ul> </li> <li class="end">tafaf</li></ul> </div><script type="text/javascript"> (function (e) { for (var _obj = document.getElementById(e.id).getElementsByTagName(e.tag), i = -1, em; em = _obj[++i]; ) { em.onclick = function () { //onmouseover var ul = this.nextSibling; //A if (!ul) { return false; } //删除这组nextSibling // ul = ul.nextSibling; if (!ul) { return false; } //第一个为UL,第二个为空白节点 if (e.tag != 'a') { ul = ul.nextSibling; if (!ul) { return false; } //第一组变为NULL,第二组变为ul } //a 标签控制 隐藏或删除该行 for (var _li = this.parentNode.parentNode.childNodes, n = -1, li; li = _li[++n]; ) { if (li.tagName == "LI") { for (var _ul = li.childNodes, t = -1, $ul; $ul = _ul[++t]; ) { switch ($ul.tagName) { case "UL": $ul.className = $ul != ul ? "" : ul.className ? "" : "off"; break; case "EM": $ul.className = $ul != this ? "" : this.className ? "" : "off"; break; } //for } //if } //for } //if } //if } //for })({ id: 'menu', tag: 'em' });</script> 代码执行问题 创建这样的对象,用构造方法应该怎么创建 javascript 效果的一个小问题 怎么用js在不关闭浏览器的情况下立即删除cookie jquery.form.js表单插件问题 请问高手如何让我选择下拉列表1的值后,能够影响到另一个下拉列表的值 上传文件时,如何用js验证上传的文件是中文名,不通过 用java mail1.2发送邮件在TOMCAT4.0下抛出IO异常——代号500?求解!!! 请问以下这些属性是什么意思? jq获取标签a的文本 360提示这段代码有木马用什么软件解密这段代码 怎么用Ext form调用一个jsp页面
我不想用jq,js如何实现 啊?
我不想用jq,js如何实现 啊?
3楼已经告诉你答案了。
<div id="menu">
<ul><li><em></em><a href="detail.php?id=2">test1</a><ul><li class="end">test2</li><li class="end">test3</li></ul></li><li class="end">tafaf</li></ul>
<hr />
<ul><!--不要留空白节点-->
<li><em></em><a href="detail.php?id=2">test1</a><ul>
<li class="end">test2</li>
<li class="end">test3</li>
</ul>
</li>
<li class="end">tafaf</li>
</ul>
</div>
<script type="text/javascript">
(function (e) {
for (var _obj = document.getElementById(e.id).getElementsByTagName(e.tag), i = -1, em; em = _obj[++i]; ) {
em.onclick = function () { //onmouseover
var ul = this.nextSibling; //A
if (!ul) { return false; }
//删除这组nextSibling
// ul = ul.nextSibling; if (!ul) { return false; } //第一个为UL,第二个为空白节点 if (e.tag != 'a') {
ul = ul.nextSibling;
if (!ul) { return false; } //第一组变为NULL,第二组变为ul
} //a 标签控制 隐藏或删除该行 for (var _li = this.parentNode.parentNode.childNodes, n = -1, li; li = _li[++n]; ) {
if (li.tagName == "LI") {
for (var _ul = li.childNodes, t = -1, $ul; $ul = _ul[++t]; ) {
switch ($ul.tagName) {
case "UL":
$ul.className = $ul != ul ? "" : ul.className ? "" : "off";
break;
case "EM":
$ul.className = $ul != this ? "" : this.className ? "" : "off";
break;
} //for
} //if
} //for
} //if
} //if
} //for
})({ id: 'menu', tag: 'em' });
</script>