[英]Get concatenate string of multiple value variable in Javascript
I've a list of div 我有一个div列表
<div data-attr="sel" data-num="1"></div>
<div data-attr="notSel" data-num="2"></div>
<div data-attr="sel" data-num="3"></div>
I'm tryng to get a string only div with the data-attr="sel" set. 我正在尝试获取只设置了data-attr =“ sel”的字符串div。
function SI_MoveTasks() {
var getSelected = document.querySelector('[data-attr~="sel"]');
var selectedNums = getSelected.dataset.num;
alert(selectedNums);
}
Now i get (1), how can i get the concatenate string (1,3)? 现在我得到(1),如何得到连接字符串(1,3)? Thanks for support. 感谢你的支持。
DEMO -> http://jsfiddle.net/0d54ethw/ 演示-> http://jsfiddle.net/0d54ethw/
Use querySelectorAll
instead of querySelector
since the latter only selects the first element as opposed to all of them. 使用querySelectorAll
而不是querySelector
因为后者只会选择第一个元素,而不是所有元素。
Then use for loop as shown below 然后使用for循环,如下所示
var getSelected = document.querySelectorAll('[data-attr~="sel"]');
var selectedNums = [];
for (var i = 0; i < getSelected.length; i++) {
selectedNums.push(getSelected[i].dataset.num);
}
alert(selectedNums.join(','));
You would need to use document.querySelectorAll to get all matching elements. 您将需要使用document.querySelectorAll来获取所有匹配的元素。 document.querySelector returns only the first matching element, or null if there is none. document.querySelector仅返回第一个匹配的元素;如果不存在,则返回null。
function SI_MoveTasks() {
var getSelected = document.querySelectorAll('[data-attr~="sel"]');
console.log(getSelected);
var selectedNums = '(';
for(var i=0; i< getSelected.length; i++) {
if (selectedNums !== '(') {
selectedNums += ',';
}
selectedNums += getSelected[i].dataset.num;
}
selectedNums += ')';
alert(selectedNums);
}
SI_MoveTasks();
Thats a working code, jsFiddle is: https://jsfiddle.net/3kjye452/ 多数民众赞成在一个有效的代码,jsFiddle是: https ://jsfiddle.net/3kjye452/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.