我有一个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>
我尝试使用data-attr =&#34; sel&#34;来获取仅字符串div。集。
function SI_MoveTasks() {
var getSelected = document.querySelector('[data-attr~="sel"]');
var selectedNums = getSelected.dataset.num;
alert(selectedNums);
}
现在我得到(1),我怎么能得到连接字符串(1,3)? 感谢您的支持。
答案 0 :(得分:4)
DEMO - &gt; http://jsfiddle.net/0d54ethw/
使用let sharedDefaults = NSUserDefaults(suiteName: "group.applewatchtest")
let sharedArray = sharedDefaults?.arrayForKey("Shared")
watchLabel.setText(arrayBook.randomData())
代替querySelectorAll
,因为后者只选择第一个元素而不是所有元素。
然后使用for循环,如下所示
querySelector
答案 1 :(得分:1)
您需要使用document.querySelectorAll来获取所有匹配的元素。 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();
这是一个有效的代码,jsFiddle是:https://jsfiddle.net/3kjye452/