我想创建一个JavaScript数组,其中包含用户使用ajax发送给PHP的类.user-status
的id。
这是我的HTML:
<div class="user-status" data-userid="159"></div>
<div class="user-status" data-userid="221"></div>
<div class="user-status" data-userid="3321"></div>
<div class="user-status" data-userid="13112"></div>
这是我的JavaScript:
$('.user-status').each(function() {
$(this).attr('data-userid');
});
var users = ["", "", "", ""];
jQuery.ajax({
url: ajaxURL,
data: {
action : 'user_status',
usersid: users
},
dataType: 'JSON',
type: 'POST',
success: function (response) {
}
});
在此之前,我无法继续,我无法将用户ID的数组发送给我。
答案 0 :(得分:1)
你可以这样做:
var users = [];
jQuery('.user-status').each(function() {
users.push($(this).attr('data-userid');
});
我从一个空数组开始,否则你最终得到一个包含8个项目的数组,其中四个是空字符串。
答案 1 :(得分:1)
您还可以使用jquery的数据属性,例如
var users = [];
$('.user-status').each(function() {
users.push($(this).data('userid'));
});
答案 2 :(得分:0)
将用户ID推送到数组中。
$('.user-status').each(function() {
users.push($(this).attr('data-userid'));
});
答案 3 :(得分:0)
您可以将函数map
与函数$.toArray()
var users = $('.user-status').toArray().map(function(elem) {
return $(elem).data('userid');
});
答案 4 :(得分:0)
使用Array.from
可以避免创建空数组并推送。
console.log(Array.from($('.user-status'), function(element) {
return $(element).data("userid")
}))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="user-status" data-userid="159"></div>
<div class="user-status" data-userid="221"></div>
<div class="user-status" data-userid="3321"></div>
<div class="user-status" data-userid="13112"></div>