neo*_*swf 4 arrays jquery jquery-selectors
我想更好地理解JQ.我正在调用一个JQ对象
$(".FamiliesList li li span[class!='']").prev().find('option:selected')
Run Code Online (Sandbox Code Playgroud)
这会向我返回一个包含其span父母的兄弟有一个类名的所有选项的数组.
[option, option]
Run Code Online (Sandbox Code Playgroud)
现在 - 我想返回一个选项值的数组
$(".FamiliesList li li span[class!='']").prev().find('option:selected').attr('value')
Run Code Online (Sandbox Code Playgroud)
这只返回给我第一个子值和一个完整的值数组.
为什么?
我很感激能得到帮助并更好地了解jq :)
谢谢.
我能提供的最佳答案是"这就是API的工作方式".我同意你的看法,"attr"和"val"之类的东西如果返回数组会更加一致(至少在选择器匹配多个元素的情况下).
$.map如果您愿意,可以使用以下效果:
var attrs = $.map($('div.something'), function(element) {
return $(element).attr('whatever');
});
Run Code Online (Sandbox Code Playgroud)
现在"attrs"将是一个数组.你也可以编写自己的函数.
在任何情况下,重要的是要注意有数组,然后有"jQuery对象".如果你考虑一下,那么在一组jQuery操作的中间使用"attr"或"val"(或类似的东西)永远不会有意义.