javascript - jquery中get()方法的问题
PHP中文网
PHP中文网 2017-04-11 11:23:27
[JavaScript讨论组]
<!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()
求各位高人解答,谢谢啦(∩_∩)

PHP中文网
PHP中文网

认证0级讲师

全部回复(6)
巴扎黑

get之后变为非jQuery对象,才是你想要的值数组
否则是jQuery对象 可以用 for in 把属性打印出来就知道了,还可以用instanceof检测是否是jQuery对象
应该是为了链是调用这样子处理的吧

你可以采用jQuery提供的 $.map
纯属个人这么认为

PHPz

一看这表情就知道是你啦。
get方法确实可以传入索引,甚至可以传入负数代表从尾部取。
但同样也可以不带参数以获取所有成员的数组。
另外,上次说的事,你考虑的怎么样了?

PHP中文网

围观楼上勾搭妹子。
对一个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
PHPz

听说楼上是妹子就过来了!

天蓬老师

话说,上次说的事考虑的怎么样?
index参数是可选,规定获取哪个匹配元素(通过 index 编号).

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号