Javascript 如何组合数组中的值?
我有以下html:Javascript 如何组合数组中的值?,javascript,arrays,Javascript,Arrays,我有以下html: <div class="topics"> <span class="topic" data-value="hello">hello</span> <span class="topic" data-value="world">world</span> <span class="topic" data-value="one">one</span> <span class="t
<div class="topics">
<span class="topic" data-value="hello">hello</span>
<span class="topic" data-value="world">world</span>
<span class="topic" data-value="one">one</span>
<span class="topic" data-value="two">two</span>
<span class="topic" data-value="six">six</span>
</div>
你好
世界
一
二
六
如何从每个块和组合中获取值?
结果应该是:
[“你好”、“世界”、“一”、“二”、“六”]
如何实现这一点?您将获得跨距并映射回文本内容
var text=[].map.call(document.querySelectorAll('.topics span'),函数(elem){
返回数据属性的elem.textContent;//或elem.dataset.value
});
console.log(文本)
你好
世界
一
二
六
因为您已经在使用HTML数据-
属性来存储数组中所需的值,所以剩下的就很简单了
只需为创建一个循环,循环遍历具有类的每个元素.topic
,并将每个数据值推送到数组中
/*----JavaScript---*/
变量
数组=[],
els=document.queryselectoral(“span.topic”);
对于(var i=0;i
你好
世界
一
二
六
如果您想在jQuery
您可以使用jquery执行以下操作:
$(".topics .topic").map(function() {
return $( this ).data("value");
})
此处演示:
你尝试了什么?我想OP可能在elem.dataset.value
之后,而不是textContent
@EliasVanOotegem-也许,它们都包含相同的内容,很难说投票给好的解决方案,Thalaivar当然选择器应该是$('span.topic')
,并且没有jQ标记。OP的问题可以使用vanillaJS@EliasVanOotegem:是的,在瓦尼亚尔很容易。。。有一些很好的答案。。考虑添加jQuery。。。看起来OP是一个新手……”“除非框架/库的另一个标签也包括在内,否则应该是一个纯JavaScript的答案。”@Thalaivar:Felix Kling没有说什么,他引用的是。没有jQ标签意味着不应该给出jQ答案。稍微宽大一点是可能的,但不会太多。就我个人而言,我认为jQ对仍在学习JS的人是有害的。有很多可怕的代码是用jQ编写的,它鼓励了不好的实践,并且似乎欺骗了人们,让他们认为JS不是函数式语言。很少有人编写$(选择器)相反,您经常会看到$(选择器).on(事件,函数(){callbackName()})
这是一种非常糟糕的做法,“除非还包括框架/库的另一个标记,否则应该是纯JavaScript的答案。”好的,让我们只使用JavaScript,然后var words=[].slice.call(document.getElementsByClassName(“主题”);console.log(words.map(函数(obj){return obj.dataset.value}))
Demo此处:
$(".topics .topic").map(function() {
return $( this ).data("value");