【问题标题】:How to select elements from a list and put it in an array using javascript [duplicate]如何从列表中选择元素并使用javascript将其放入数组中[重复]
【发布时间】:2014-07-01 17:20:25
【问题描述】:

我想选择 ul 标记内的所有元素并使用 javascript 将其推送到数组中。我应该怎么做?

<ul id="sortable1" class="connectedSortable">
<li class="ui-state-default">Item 1</li>
<li class="ui-state-default">Item 2</li>
<li class="ui-state-default">Item 3</li>
<li class="ui-state-default">Item 4</li>
<li class="ui-state-default">Item 5</li>
</ul>

【问题讨论】:

  • 推送数组、元素或文本中的内容。类名表明你正在使用 jQuery,但它没有用 jQuery 标记。
  • 你听说过 DOM 吗?似乎您将从涵盖以下内容的教程中受益最多:quirksmode.org/dom/intro.html
  • 仅文本。是的,我为此使用 jquery。但是对于上面的问题,连 JS 都可以做到。
  • 请在提出新问题之前使用搜索。

标签: javascript jquery html


【解决方案1】:

在 jQuery 上使用 .each() 函数将帮助您实现它。

试试类似的东西:

  var array = [];
    $( "li" ).each(function() {
      array.push($(this).text());
    });

对于.each()参考点击here

【讨论】:

  • 如果我有多个
      ,它将选择所有
  • @user: 然后只选择你想要的 lis!您总是需要调整答案以适合您的特定用例。
  • 然后使用 $("li.ui-state-default") 。你从来没有一开始就指定那个条件
【解决方案2】:

JavaScript:DEMO

var sortable1 = document.getElementById("sortable1").children;
var array = new Array();
for(i=0; i<sortable1.length; i++) {
    array.push(sortable1[i].innerHTML);
}

jQuery:DEMO

var lis = $("#sortable1").children();
var array = new Array();
for(i=0; i<lis.length; i++) {
    array.push($(lis[i]).text());
}

【讨论】:

  • 谢谢。我试过了,为我工作
【解决方案3】:
document.getElementById('sortable1').children

返回 li 对象的类数组对象

【讨论】:

  • 其实返回的是一个HTMLCollection,它不是数组而是类数组对象。
  • var x[] = document.getElementById('sortable1').children;
【解决方案4】:

根据你的类名,看起来你正在使用 jQuery...

var myItems = $("#sortable1").children();

或者,如果你只想要文本......

var myItems = [];

$("#sortable1").each(function() {
    var $this = $(this);
    myItems.push($this.text());
});

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 2018-10-20
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多