
按规范来说,最好不要有相同ID的情况出现,按你问题的描述,最好的办法就是用jQuery实现,代码大致如下:
$("#lblelID")each(function(){});
获取的是jQuery对象,然后调用each方法遍历就可以,不会出现死循环的情形。
你好,
在DOM中实际上有一个叫做textNode的元素,相应的还有documentcreateTextNode的JS方法,而在IE和Chrome浏览器中会将源代码中的换行符渲染成一个textNode,只是视觉上不可见。
然而,通过childNodes来获取子元素的时候,结果会包含这些textNode,所以会得到题主所见的情况。
而解决方法很简单,主要有两种:
第一,使用children代替childNodes
第二,遍历childNodes,根据nodeType过滤掉textNode
希望能解决你的问题。
var t={"a":"1","b":'2'};
// 2
alert(t["b"]);
// 或者
// 2
alert(tb);
这个好办么。。
你的每一个INPUT不是都有VALUE么。。
那么你在加载的时候可以给每个INPUT在绑定事件啊。
如下
//初始化计算器
function InitCalculator()
{
//用来获取按钮数组
var arrButton = documentgetElementsByName("input");
//遍历数组为按钮添加事件
for(var i=0;i<arrButtonlength;i++)
{
var currBtn = arrButton[i];
//如果不是按钮,则继续下一个(可能是计算器上的文本显示框)
if(currBtntype != "button")
continue;
var strBtnVal = currBtnvalue;
switch(strBtnVal)
{
case "+":
currBtnclick=function(){switchFun("+")}
bareak;
case "-":
currBtnclick=function(){switchFun("-")}
bareak;
case "":
currBtnclick=function(){switchFun("")}
bareak;
case "/":
currBtnclick=function(){switchFun("/")}
bareak;
case "=":
currBtnclick=function(){switchFun("=")}
bareak;
}
}
}
//给按钮绑定的事件
funciton switchFun(strFunName)
{
switch(strBtnVal)
{
case "+":
//调用计算加法的方法
//call addition funtion
bareak;
case "-":
//调用计算减法的方法
//call subtration funtion
bareak;
case "":
//and so on
bareak;
case "/":
//and so on
bareak;
case "=":
//and so on
bareak;
}
}
以上就是关于JS中如何获取ID相同的标签元素集合,效率高点的全部的内容,包括:JS中如何获取ID相同的标签元素集合,效率高点的、js中获取子节点集合中第一个节点为什么是text、JavaScript 获取集合对象的元素个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)