javascript - 修改使用 jQuery 创建的数组

标签 javascript jquery arrays string split

我花了一天时间试图解决这个问题。我可以很容易地从 DOM 类创建数组。

该数组返回 i.fa fa-diamondi.fa fa-paper-plane 等。我要解决的问题是删除 i. 来自 fa fa- 字符串。我试过.remove(), .splice(), filter, $map等方法没有太多运气。我想删除 i. 或找到一种简单的方法来创建避免 i..

的数组

编辑:我应该提到这是一项任务的一部分,我知道有更简单的方法可以实现这一点,但我的任务是使用 jQuery。

var obj = $('.card > .fa');
var cardsName = $.makeArray(obj);
console.log(cardsName);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="deck">
  <li class="card">
    <i class="fa fa-diamond"></i>
  </li>
  <li class="card">
    <i class="fa fa-paper-plane-o"></i>
  </li>
  <li class="card match">
    <i class="fa fa-anchor"></i>
  </li>
  <li class="card">
    <i class="fa fa-bolt"></i>
  </li>
  <li class="card">
    <i class="fa fa-cube"></i>
  </li>
  <li class="card match">
    <i class="fa fa-anchor"></i>
  </li>
  <li class="card">
    <i class="fa fa-leaf"></i>
  </li>
  <li class="card">
    <i class="fa fa-bicycle"></i>
  </li>
  <li class="card">
    <i class="fa fa-diamond"></i>
  </li>
  <li class="card">
    <i class="fa fa-bomb"></i>
  </li>
  <li class="card">
    <i class="fa fa-leaf"></i>
  </li>
  <li class="card">
    <i class="fa fa-bomb"></i>
  </li>
  <li class="card open show">
    <i class="fa fa-bolt"></i>
  </li>
  <li class="card">
    <i class="fa fa-bicycle"></i>
  </li>
  <li class="card">
    <i class="fa fa-paper-plane-o"></i>
  </li>
  <li class="card">
    <i class="fa fa-cube"></i>
  </li>
</ul>

最佳答案

不需要像 jQuery 这样的重量级库,只需选择元素并使用 Array.frommap 到其 className 的数组小号:

const classes = Array.from(
  document.querySelectorAll('.deck i'),
  i => i.className
);
console.log(classes);
<ul class="deck">
  <li class="card">
    <i class="fa fa-diamond"></i>
  </li>
  <li class="card">
    <i class="fa fa-paper-plane-o"></i>
  </li>
  <li class="card match">
    <i class="fa fa-anchor"></i>
  </li>
  <li class="card">
    <i class="fa fa-bolt"></i>
  </li>
  <li class="card">
    <i class="fa fa-cube"></i>
  </li>
  <li class="card match">
    <i class="fa fa-anchor"></i>
  </li>
  <li class="card">
    <i class="fa fa-leaf"></i>
  </li>
  <li class="card">
    <i class="fa fa-bicycle"></i>
  </li>
  <li class="card">
    <i class="fa fa-diamond"></i>
  </li>
  <li class="card">
    <i class="fa fa-bomb"></i>
  </li>
  <li class="card">
    <i class="fa fa-leaf"></i>
  </li>
  <li class="card">
    <i class="fa fa-bomb"></i>
  </li>
  <li class="card open show">
    <i class="fa fa-bolt"></i>
  </li>
  <li class="card">
    <i class="fa fa-bicycle"></i>
  </li>
  <li class="card">
    <i class="fa fa-paper-plane-o"></i>
  </li>
  <li class="card">
    <i class="fa fa-cube"></i>
  </li>

关于javascript - 修改使用 jQuery 创建的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50653548/

相关文章:

javascript - DataTables 设置默认排序列并设置不可排序列

arrays - 算法 : Median of two sorted array of different sizes

javascript - 单击按钮时表格移动到 j-query 指定位置 - 然后返回

javascript - 识别vuejs组件的多个容器

javascript - 将点击事件的结果传递给调用函数

jquery - 将按钮单击添加到 jquery 更改方法

javascript - 替换或删除完整字符串中包含单词中@temp之前的字符

javascript - 根据具有特定长度的现有字符串获取新字符串

arrays - 如何将字符串编码的 float 数组解码为 float 数组?

javascript - 对象解构在 Promise 中解析和拒绝