从ul块访问标记名称li
Access tag name li from an ul block
我想显示一个警报,当我点击"aaa"或"bbb" .我怎么能访问li元素没有类"click"从ul与id = parent ?对于其他元素,我使用:
var elements = document.getElementById('parent');
var classElem = document.getElementsByClassName('click');
我想到了这样的东西:liW = elements - classElem
但这不起作用。
这是我使用的html:
<html>
<head>
</head>
<body> <ul id = "parent">
<li> aaa </li>
<li> bbb </li>
<li class ="click"> ccc </li>
<li class ="click"> ddd </li>
</ul>
<ul> <li> eee </li>
</ul>
</body>
您可以使用Array.filter
,如下所示:
var liW = [].filter.call(
document.getElementById('parent').children, // the LI elements
function(li) {return !li.classList.contains('click');}
);
这将为您提供一个与<li>
标签相对应的节点数组,不具有class="click"
。
您可以通过遍历所有子li
元素来实现这一点,检查它们中的每个元素是否具有click
类,如果没有,则在单击时显示警告。
var elements = document.getElementById('parent').getElementsByTagName('li');
function elementClicked(elem) {
alert('test');
}
for(var i = 0; i < elements.length; i++) {
if(!elements[i].classList.contains('click')) {
elementClicked(elements[i]);
}
}
您可以将事件侦听器放在父元素(UL)上并检查目标元素是否有这个类。
示例-
list = document.getElementById('parent');
list.addEventListener('click',function(e){
if (e.target.className.indexOf('click') === -1) alert(test);
});
相关文章:
- 使用jquery动态创建ul-li
- 使用下拉列表筛选列表(ul>li)
- 隐藏/显示包含单词的ul li项目.但只能入住李的子女
- ul-li专属功能
- 在jQuery UI中获取ul和li值,拖放即可排序
- nextSibling ul li ul
- 如何在应用切换点击功能之前,默认情况下在页面加载时隐藏带有特定类的ul-li
- 有没有一种方法可以检测一行何时随着浮动左LI的UL而改变
- jQuery复选框(在ul>li下)检查事件
- 加载更多li's在ul-JQuery中
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- Javascript 从嵌套的 UL LI 复选框生成递归 JSON 对象
- 使用jquery在ul菜单中添加li dynamic
- 有角度的自动建议文本排版和html ul li下拉列表
- Jquery菜单UL LI插入
- 更改Jquery UL li筛选器中的链接颜色
- 如何在 li ul 中获取跨度动态值
- 如何获取所有LI UL元素ID值并将它们放置在JavaScript数组中
- 获取Ul-li宽度,并将其设置为Ul-li-Ul的宽度
- 如何创建嵌套的li-ul-li元素