从jQuery对象获取值数组
Getting array of values from jQuery object
我有以下对象:
$("input:checkbox:checked")
[
<input class="li_checker" type="checkbox" category_uid="1.3" category_language="da">,
<input class="li_checker" type="checkbox" category_uid="1.3.1" category_language="da">
]
如果jQuery中有任何助手允许我获取所有元素的值"category_uid",并将其作为另一个数组返回?预期结果:
["1.3", "1.3.1"]
使用map()
:
var myArray = $("input:checkbox:checked").map(function(){
return this.getAttribute("category_uid");
}).get();
按照bpierre的建议,使用.map()
。他的答案是正确的。
如果您需要不同属性的这种行为,您不妨将其作为可重用函数("jQuery插件"(:
jQuery.fn.pluck = function(attr) {
return this.map(function() {
return this.getAttribute(attr);
}).get();
};
$('input:checkbox:checked').pluck('category_uid'); // ["1.3", "1.3.1"]
p.S.category_uid
不是HTML中的有效属性。请考虑使用自定义的data-*
属性,例如data-category-uid="foo"
。
只是为了好玩,第三种方式,这一种使用attr
:
var categories = [];
$("input:checkbox:checked").attr("category_uid", function(index, value) {
categories.push(value);
});
实例
主题外:如果您希望在HTML元素上具有任意的自定义属性,建议使用HTML5定义的data-
前缀(详细信息(。您现在可以使用它,即使您没有使用HTML5 doctype(这是HTML5只是对当前实践进行编码和控制的地方之一(,它也会在未来得到验证。
var myarray=[];
$("input:checkbox:checked").each(function () {
myarray.push($(this).attr('category_uid'));
});
实时演示
类似的东西
var checked_cats = new Array();
$("input:checkbox:checked").each(function() {
checked_cats.push($(this).attr('category_uid'));
});
(未测试(
p.s.看到了你的推特。
这里有一种更"插件化"的方法:
(function($){
$.fn.getAttributes = function(attribute){
var result = [];
$(this).each(function(){
var a = $(this).attr(attribute);
if(a)
result.push(a);
});
return result;
}
})(jQuery);
然后按如下方式使用:
var result = $("input:checkbox:checked").getAttributes("category_uid");
还没有测试过,但应该还可以。
相关文章:
- 从json子数组获取数据
- 从javascript数组获取php的日期时间
- 从表中的 JSON 数组获取数据
- 每个表的2D数组获取坐标JTSL,JAVASCRIPT
- javascript从元素到数组获取文本
- 如何从数组获取链接以在youtube Iframe API中播放
- JSON 编码多维数组获取值
- 如何从两个 JSON 数组获取增量
- 通过单击按钮数组获取隐藏 html 元素值的当前数组
- 在 JavaScript 中从内部数组获取数据
- 从数组获取非重复索引在 0 时失败
- JavaScript 从对象中的数组获取数组
- 如何通过 ajax 将 php 数组作为 javascript 数组获取
- 快速从 2D 数组获取索引,无需迭代 jquery
- 从 Nodejs socketio 数组获取所有套接字 id
- 无法动态从 json 数组获取数据
- 如何在javascript中使用数组获取和设置html标签的值
- jQuery对象数组获取一个项作为jQuery对象
- 如何在不向输出数组获取空值的情况下拆分字符串
- 从输入到数组获取数据