Javascript 将HTML属性压缩到数组中

Javascript 将HTML属性压缩到数组中,javascript,jquery,Javascript,Jquery,可能重复: 我如何获取此文件中的属性 <li data-number-input="2" data-completion-number="2"></li> 我尝试过这个,但它使我的程序崩溃 numberInput.push({ "input": elm.data("number-input") }); completionNumber.push({ "completion": elm.data("completion-num

可能重复:

我如何获取此文件中的属性

<li data-number-input="2" data-completion-number="2"></li>
我尝试过这个,但它使我的程序崩溃

 numberInput.push({
        "input": elm.data("number-input")
    });
 completionNumber.push({
        "completion": elm.data("completion-number")
    });
这是前一个问题的延伸

试试这个:

var numberInput = [];
var completionNumber = [];

$('li[data-number-input],li[data-completion-number]').each(function(){
   numberInput.push($(this).attr('data-number-input'));
   completionNumber.push($(this).attr('data-completion-number'));
});

这将迭代所有具有属性data number input和data completion number的li,对于其中的每一个,它将把相应的值推送到这些数组。

为什么会崩溃?你收到错误信息了吗?如果是,错误消息是什么。为什么要更改用户帐户以询问此问题?恕我直言,我认为他的回答是正确的。你似乎在问一些事情,却一点也不了解。看起来你需要先学习一些基础知识……另外,你之前发布了这个问题,但是在你原来的问题之后,但是当人们开始问你同样的问题时,你删除了它。这对我来说很好+1你不想,li是选择器的一部分,如果您要查找的是具有两个属性的li元素,那么我不知道OP对这些参数的意图是什么。他可能只拥有其中一个属性的元素。在这种情况下,围绕每一个推力都有一个if。你能告诉我你所说的@Rodik是什么意思吗
var numberInput = [];
var completionNumber = [];

$('li[data-number-input],li[data-completion-number]').each(function(){
   numberInput.push($(this).attr('data-number-input'));
   completionNumber.push($(this).attr('data-completion-number'));
});