首页 > 解决方案 > 如何从 HTML 元素中创建一个 newArray?

问题描述

我想做一个这样的数组:

["name", "email", "phone", "submit"]

...像这样的HTML:

<div class="form-group">
  <label for="exampleInputEmail1">Name</label>
</div>

<div class="form-group">
  <label for="exampleInputEmail1">Email</label>
</div>

<div class="form-group">
  <label for="exampleInputPassword1">Phone</label>
</div>

<button type="button" class="btn btn-primary mb-2">Submit</button>

这是我的代码:

let textArray = [];
let divText = "";

$("div").each(function () {
  divText = $("div")
    .text()
    .replace(/(\r\n|\n|\r|[` `])/gi, ``);
});

textArray.push(divText);

但我得到的数组看起来像这样:

["NameEmailPhoneSubmitNameEmailPhone"]

...不是这样的:

["name", "email", "phone", "submit"]

标签: htmljquery

解决方案


这应该这样做:

let textArray = []
let divText = $("div, button").map((i,x) => x.innerText.replace(/(\r\n|\n|\r|[` `])/gi, ``)).get();
console.log(divText);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group">
  <label for="exampleInputEmail1">Name</label>
</div>
<div class="form-group">
  <label for="exampleInputEmail1">Email</label>
</div>
<div class="form-group">
  <label for="exampleInputPassword1">Phone</label>
</div>
<button type="button" class="btn btn-primary mb-2">Submit</button>


推荐阅读