来自现有divs innerHTML的javascript数组
假设我动态创建了一些div,每个div都有它的动态创建id(div0、div1、div2等),我想使用一个函数来传递当前存在的div,并将它们的innerHTML放入一个数组(在本例中是一个、两个、三个),如何在javascript中实现这一点 html示例:来自现有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 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
有很多方法可以做到这一点。还有另一种方法:使用ES6Array.from
let divsA=Array.from(document.queryselectoral(“[id^='div']a”);
map(a=>console.log(a.innerHTML))代码>
关闭
关闭
关闭
有很多方法可以做到这一点。还有另一种方法:使用ES6Array.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”)并可以工作