这段JS代码为什么会出错?

JavaScript0129

这段JS代码为什么会出错?,第1张

document.getElementById('mm1').getElementsByTagName('li')这个得到的是一个DOM对象集合,是一个objNodeList。没有concat这个方法。

既然NodeList有length,可以for循环索引取值,转换成数组就很简单了。最直接的思路是这样的:

var arr = new Array()

var anchors = document.getElementsByTagName("a")

for (var i = 0i <anchors.lengthi++) {

var ele = anchors[i]

arr.push(ele)//arr就是我们要的数组

}

先new一个Array,遍历NodeList,然后将每一个单独的元素push到数组变量里,最后操作数组变量。就是用你说的concat方法。可以参见http://www.web2bar.cn/Article/5139.aspx。

1、获取文本框长度:

[html] view plaincopy

<html>

<body>

<script type="text/javascript">

var before="abcdefgh"

var after=before.length

alert(after)//显示结果长度为8

</script>

</body>

</html>

2、截取变量:

[html] view plaincopy

<html>

<body>

<script type="text/javascript">

var before="abcdefgh"

var after=before.substr(0,3)

alert(after)//显示结果abc

</script>

</body>

</html>

3、获取某字符的位置 :

[html] view plaincopy

<html>

<body>

<script type="text/javascript">

var before="abcdefgh"

alert("d的位置为:"+before.indexOf("d"))//结果为3 从0开始的

</script>

</body>

</html>