Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自现有divs innerHTML的javascript数组_Javascript_Arrays_Innerhtml - Fatal编程技术网

来自现有divs innerHTML的javascript数组

来自现有divs innerHTML的javascript数组,javascript,arrays,innerhtml,Javascript,Arrays,Innerhtml,假设我动态创建了一些div,每个div都有它的动态创建id(div0、div1、div2等),我想使用一个函数来传递当前存在的div,并将它们的innerHTML放入一个数组(在本例中是一个、两个、三个),如何在javascript中实现这一点 html示例: <div contenteditable="false" id="div0"> <a href="#">one</a> <span id="one-close"> <i

假设我动态创建了一些div,每个div都有它的动态创建id(div0、div1、div2等),我想使用一个函数来传递当前存在的div,并将它们的innerHTML放入一个数组(在本例中是一个、两个、三个),如何在javascript中实现这一点

html示例:

<div contenteditable="false" id="div0">
  <a href="#">one</a>
  <span id="one-close">
    <i class="material-icons">close</i>
  </span>
</div>
<div contenteditable="false" id="div1">
  <a href="#">two</a>
  <span id="two-close">
    <i class="material-icons">close</i>
  </span>
</div>
<div contenteditable="false" id="div2">
  <a href="#">three</a>
  <span id="three-close">
    <i class="material-icons">close</i>
  </span>
</div>

关闭
关闭
关闭

您可以使用jquery或javascript函数获取
div

myArray[0] = document.getElementByID("div0").innerHtml;
myArray[1] = document.getElementByID("div1").innerHtml;
myArray[2] = document.getElementByID("div2").innerHtml;

您可以使用jquery或javascript函数获取
div

myArray[0] = document.getElementByID("div0").innerHtml;
myArray[1] = document.getElementByID("div1").innerHtml;
myArray[2] = document.getElementByID("div2").innerHtml;
由于
document.querySelectorAll
返回的是节点列表而不是数组,因此我们可以将div元素放入数组中,并使用它将div内容返回到数组中

var divs=[].slice.call(document.querySelectorAll('div'));
log(divs.map(div=>div.innerHTML))

关闭
关闭
关闭
使用一些来自的魔法,因为
document.querySelectorAll
返回一个节点列表而不是一个数组,我们可以将div元素放入数组,并使用它将div内容返回到数组中

var divs=[].slice.call(document.querySelectorAll('div'));
log(divs.map(div=>div.innerHTML))

关闭
关闭
关闭

将相同的类赋予div并通过$('.class name')访问,或者添加一个容器div并通过$('.'divId div')获取div数组。

将相同的类赋予div并通过$('.class name')访问,或者添加一个容器div并通过$('.'divId div')获取div数组。

您还可以使用扩展语法

constdivscontents=[…document.queryselectoral(“div>a”)].map(e=>e.innerHTML);
控制台日志(divsContents)

关闭
关闭
关闭

您也可以使用扩展语法

constdivscontents=[…document.queryselectoral(“div>a”)].map(e=>e.innerHTML);
控制台日志(divsContents)

关闭
关闭
关闭

使用
querySelectorAll
创建
divs
集合后使用循环:

let divs=document.querySelectorAll('div');
设arr=[];
for(设i=0;i
hi
hi2

hi3
使用
querySelectorAll
创建
divs
集合后使用循环:

let divs=document.querySelectorAll('div');
设arr=[];
for(设i=0;i
hi
hi2
hi3
这是您的解决方案

var arr = [];
function myFunction() {
  var anchors = document.getElementsByTagName("a");
  for(var i = 0; i < anchors.length; i++){
   arr.push(anchors[i].text);
  }
}

console.log(arr);
var arr=[];
函数myFunction(){
var archors=document.getElementsByTagName(“a”);
对于(var i=0;i
这是您的解决方案

var arr = [];
function myFunction() {
  var anchors = document.getElementsByTagName("a");
  for(var i = 0; i < anchors.length; i++){
   arr.push(anchors[i].text);
  }
}

console.log(arr);
var arr=[];
函数myFunction(){
var archors=document.getElementsByTagName(“a”);
对于(var i=0;i
有很多方法可以做到这一点。还有另一种方法:使用ES6
Array.from

let divsA=Array.from(document.queryselectoral(“[id^='div']a”);
map(a=>console.log(a.innerHTML))

关闭
关闭
关闭

有很多方法可以做到这一点。还有另一种方法:使用ES6
Array.from

let divsA=Array.from(document.queryselectoral(“[id^='div']a”);
map(a=>console.log(a.innerHTML))

关闭
关闭
关闭

$('div')
(或者您的自定义选择器,如
$('divcontainer>div')
)应该已经是一个数组。您可以使用
.map()
将html放入数组:
$('divcontainer>div').map(el=>$(el).html())
$('div')
(或者您的自定义选择器,如
$('divcontainer>div')
)应该已经是一个数组。您可以使用
.map()
将html放入数组:
$('#divcontainer>div').map(el=>$(el.html())
如果您在查询选择器中添加
>a
是完美的谢谢您的回答,我怀疑如果在数组中我不想要的页面周围有其他“a”的div,它是否会一团糟?例如,我希望它只获取id以“div”开头的div的innerHTML,或者id=“maindiv”的父div中的div的innerHTML,比如说,对于id以“div”开头的div,像$(“#maindiv').queryselectoral(等等)这样做足够了吗?这取决于您的选择器(
document.queryselectoral(“div[id^='div'])
)例如,谢谢,最后一个解决方案返回了。。。同样,关于要解析的所需文本,我将其设置为:(“div[id^='div']>a”)和worksIf如果在查询选择器中添加
>a
是完美的谢谢您的回答,我的疑问是如果我在数组中不想要的页面周围的div中有其他“a”的话,它是否会一团糟?例如,我希望它只获取id以“div”开头的div的innerHTML,或者id=“maindiv”的父div中的div的innerHTML,比如说,对于id以“div”开头的div,像$(“#maindiv').queryselectoral(等等)这样做足够了吗?这取决于您的选择器(
document.queryselectoral(“div[id^='div'])
)例如,谢谢,最后一个解决方案返回了。。。同样,围绕要解析的所需文本,我将其设置为:(“div[id^='div']>a”)并可以工作