作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
鉴于此:
<a href="1">1</a>
<a href="2">2</a>
这是一个返回 href 值数组的函数:
e = $('a').map(function(v) { return $(this).attr('href'); });
console.log(e);
但是它给了
["1", "2", prevObject: x.fn.x.init[2], context: document, jquery: "1.10.2", constructor: function, init: function…]
如何修改它以仅返回原始数组 ["1", "2"]?
最佳答案
是因为jQuery.fn.map
返回一个新的 jQuery 对象,你应该使用 jQuery.fn.get
获取数组:
var a = $('a').map(function(v, node) {
// v is the index in the jQuery Object,
// you would maybe like to return the domNode or the href or something:
// return node.href;
return v;
}).get(); // <-- Note .get() converts the jQuery Object to an array
微优化:
如果您查看jQuery.fn.get
的源代码,您会发现它指向jQuery.fn.toArray
。 :
function ( num ) {
return num == null ?
// Return a 'clean' array
this.toArray() :
// Return just the object
( num < 0 ? this[ this.length + num ] : this[ num ] );
}
所以你也可以调用:
$('a').map(...).toArray();
关于javascript - $(...).map() 究竟返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17490837/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!