<!DOCTYPE html>
<html>
<head>
<style>p { color:red; }</style>
<script type="text/javascript" src="/jquery/jquery.js"></script>
</head>
<body>
<p><b>Values: </b></p>
<form>
<input type="text" name="name" value="John"/>
<input type="text" name="password" value="password"/>
<input type="text" name="url" value="http://w3school.com.cn/"/>
</form>
<script>
$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
</script>
</body>
</html>
在W3C上面看到的一个例子,对于里面的<script>不太理解。
我想问一下,为什么要在js代码里加一个get()方法呢?我看了下jquery的官方文档,get()方法的参数不是需要一个index吗,比如get(0),get(1)之类的。
我知道这段js代码一直到get()之前,目的就是把所有input的value包装成一个数组返回,然后join(',')连接成一个字符串,就是不理解这个为什么要加一个不带参的get()
求各位高人解答,谢谢啦(∩_∩)
一看这表情就知道是你啦。
get方法确实可以传入索引,甚至可以传入负数代表从尾部取。
但同样也可以不带参数以获取所有成员的数组。
另外,上次说的事,你考虑的怎么样了?
get
之后变为非jQuery
对象,才是你想要的值数组
否则是jQuery
对象 可以用 for in
把属性打印出来就知道了,还可以用instanceof
检测是否是jQuery
对象
应该是为了链是调用这样子处理的吧
你可以采用jQuery
提供的 $.map
纯属个人这么认为
听说楼上是妹子就过来了!
话说,上次说的事考虑的怎么样?
index参数是可选,规定获取哪个匹配元素(通过 index 编号).
围观楼上勾搭妹子。
对一个jQuery对象。get()方法确实可以传入index,也可以直接使用[index]的方式。
例如:$('li').get(0),和$('li')[0]其实是一样的。
只不过get()更强大,可以传入负值,还可以不传值直接返回一个集合。
正确答案:
x = $('input').map(function(){return $(this).val() })
["1220000005877507", "1010000005876109", "1020000005877143", "", "", "on", "on", "", ""]
y = x.get()
["1220000005877507", "1010000005876109", "1020000005877143", "", "", "on", "on", "", ""]
x instanceof $
true
y instanceof $
false