我如何获得添加了某个 class 的所有元素的数组
How can i get an array of all elements with a certain class added
这是我正在尝试做的事情:
目前我有一个标签列表,它会在点击时对数据库中的一些数据进行排序,有没有办法得到一个被选择的元素列表?
<a href="javascript:;" class="tag tagId_4">Tag 4</a>
<a href="javascript:;" class="tag tagId_3">Tag 3</a>
<a href="javascript:;" class="tag tagId_2">Tag 2</a>
<a href="javascript:;" class="tag tagId_1">Tag 1</a>
这是此刻所做的事情:
$('.tag').click(function(){
var id = $(this).attr('class');
id = id.substr(10);
$(this).addClass('tag_selected');
});
我怎样才能得到一个包含 class tag_selected 的所有链接的 ID 列表?
如果查询匹配多个元素,jQuery选择器$()
将return一个元素数组,所以:
$('.tag_selected');
将return全部。
就您的实施设计而言,我会改用 <a>
标记的实际 id 属性来存储元素的 id。
您可以使用类似这样的方法将每个选定元素的 id
编号检索到数组中:
var ids = $('.tag_selected').map(function() {
return $(this).attr('id').match(/.+_(.+)/)[1];
}).get();
该正则表达式基本上会匹配下划线之前的所有内容,然后捕获下划线和 return 之后的所有内容。最后的 [1]
正在访问数组 return 中的第二个项目,从 match
函数(这是第一个捕获的字符串)。
function getListOfSelectedElements() {
var list = [];
$(".tag_selected").each(function (index, element) {
var id = $(element).attr("id");
if (id) {
list.push(id);
}
});
return list;
}
我相信通过使用“$(.tag-selected).each(someFunction)”并让函数为包含 class.
的单个元素做一些事情
这是我正在尝试做的事情: 目前我有一个标签列表,它会在点击时对数据库中的一些数据进行排序,有没有办法得到一个被选择的元素列表?
<a href="javascript:;" class="tag tagId_4">Tag 4</a>
<a href="javascript:;" class="tag tagId_3">Tag 3</a>
<a href="javascript:;" class="tag tagId_2">Tag 2</a>
<a href="javascript:;" class="tag tagId_1">Tag 1</a>
这是此刻所做的事情:
$('.tag').click(function(){
var id = $(this).attr('class');
id = id.substr(10);
$(this).addClass('tag_selected');
});
我怎样才能得到一个包含 class tag_selected 的所有链接的 ID 列表?
如果查询匹配多个元素,jQuery选择器$()
将return一个元素数组,所以:
$('.tag_selected');
将return全部。
就您的实施设计而言,我会改用 <a>
标记的实际 id 属性来存储元素的 id。
您可以使用类似这样的方法将每个选定元素的 id
编号检索到数组中:
var ids = $('.tag_selected').map(function() {
return $(this).attr('id').match(/.+_(.+)/)[1];
}).get();
该正则表达式基本上会匹配下划线之前的所有内容,然后捕获下划线和 return 之后的所有内容。最后的 [1]
正在访问数组 return 中的第二个项目,从 match
函数(这是第一个捕获的字符串)。
function getListOfSelectedElements() {
var list = [];
$(".tag_selected").each(function (index, element) {
var id = $(element).attr("id");
if (id) {
list.push(id);
}
});
return list;
}
我相信通过使用“$(.tag-selected).each(someFunction)”并让函数为包含 class.
的单个元素做一些事情