简体   繁体   English

获取JavaScript中多值变量的连接字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM