Javascript -构建具有给定ID的所有LI的列表,并单击每个LI
Javascript - building a list of all LI with a given ID and click every one
我有一个这样构建的列表:
<ul id="ajaxList" class="ajaxListUL">
然后,列表中的每个元素都像这样
<li class="ajaxListLI" id="ajaxListRow_32412312">
32412312是随机的。列表中的每个元素都有1这里的数字,比如
<li class="ajaxListLI" id="ajaxListRow_32443232"> ...
<li class="ajaxListLI" id="ajaxListRow_86752312"> ...
<li class="ajaxListLI" id="ajaxListRow_35644312"> ...
等。
每个LI都是可点击的,我需要创建一个循环来点击每个LI。
但是列表中也有这样的元素
<li class="ajaxListXT"> ...
不可点击
我需要做的是在页面上建立一个所有LI元素的数组,id以"ajaxListRow_"开始,然后单击它们。
我做了这么多:
var children = document.getElementById('ajaxList').childNodes;
var length = children.length;
var elements = [];
var child;
for (i = 0; i < length; i++) {
child = children[i];
if (child.id.substring(0, 12) == "ajaxListRow_")
elements.push(child);
document.child.click();
}
停在IF行,抱怨id的东西。我已尝试删除id,但没有成功。
在这一点上,我甚至不知道这些行是否正确:
elements.push(child);
document.child.click();
用于向数组中添加LI并单击该LI。
我该怎么做?谢谢。
function getElementsByClassName(classname, node) {
if(!node) node = document.getElementsByTagName("body")[0];
var a = [];
var re = new RegExp('''b' + classname + '''b');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))
a.push(els[i]);
return a;
}
var childs = getElementsByClassName("ajaxListLI",document.getElementById('ajaxList'));
for(var i = 0; i<childs.length; i++){
childs[i].click();
}
使用.children
而不是.childNodes
,否则您将获得分隔<li>
元素的空文本节点。
var children = document.getElementById('ajaxList').children; // .children
var length = children.length;
var elements = [];
var child;
for (var i = 0; i < length; i++) {
child = children[i];
if (child.id.substring(0, 12) == "ajaxListRow_") elements.push(child);
document.child.click();
}
document.child.click();
也不正确。您可能指的是child.click();
,尽管我不确定它是否真的会触发处理程序。
我可能倾向于替换:
if(child.id.substring(0, 12) == "ajaxListRow_")
if(child.id.indexOf("ajaxListRow_") === 0)
但这只是一个偏好。
相关文章:
- 使用下拉列表筛选列表(ul>li)
- 修复列表的绝对位置(li's隐藏在前两个后面)
- 如何让li项目在这个jQuery列表中滑动和/或淡出视图
- 有角度的自动建议文本排版和html ul li下拉列表
- jQueryUI可排序-从可排序列表中删除li
- 转换UL->li inot为同位素过滤菜单选择的列表
- 如何从 d3 节点层次结构创建 ul-li 列表
- 有没有更简单的方法可以在一个 UL 中获取 LI 列表编号
- 如何通过单击链接或按钮重新排序ul-li列表
- 如何点击功能为一个自动建立的li列表
- 为什么这个jquery代码不删除li列表项
- 使用jquery将dt/dd列表转换为li列表
- 循环访问自定义 UL LI A 列表,并仅隔离具有所选类名的项
- 获取已单击ul的li's列表
- 如何用JavaScript划分一个LI's列表?
- 在javascript中不工作的列中制作li列表
- Jquery嵌套在选项卡式内容UL LI列表中的LI元素
- 维护Ul-Li列表的顺序
- 使用jquery搜索LI列表
- 将 UL LI 列表解析为逗号分隔的值