使用for循环,我如何使它检查元素(工作2),然后检查元素1是否为空?
目前,此代码先检查第一个元素,然后检查第二个元素,依此类推。 我想做的是首先确定其他元素的优先级。在这种情况下,“工作2”元素。
<td><g:link action="show" params="${bean.getPK()}"><f:display bean="${bean}" property="${p.property}" displayStyle="${displayStyle?:'table'}" theme="${theme}"/></g:link></td>
paras = Array.from(document.querySelectorAll('.working1,.working2'));
let partnumber = 0
for(const para of paras) {
partnumber++
if(para.innerHTML === '') {
para.innerHTML = partnumber;
}
}
实际结果-检查元素(工作1)是否为空,否则检查元素(工作2)。 预期结果-检查元素(工作2)是否为空,否则检查元素(工作1)。
答案 0 :(得分:0)
您可以分别创建“ .working2”和“ .working1”数组,然后通过首先添加.working2项来合并它们:
var working1 = Array.from(document.querySelectorAll('.working1'));
var working2 = Array.from(document.querySelectorAll('.working2'));
var paras = working2.concat(working1);
let partnumber = 0
for(const para of paras) {
partnumber++
if(para.innerHTML === '') {
para.innerHTML = partnumber;
}
}
答案 1 :(得分:0)
只需对数组中working2
个元素之前的working1
个元素进行排序:
const paras1 = Array.from(document.querySelectorAll('.working1'));
const paras2 = Array.from(document.querySelectorAll('.working2'));
const paras = paras2.concat(paras1);
let partnumber = 0
for(const para of paras) {
partnumber++
if(para.innerHTML === '') {
para.innerHTML = partnumber;
}
}
p {
border: 1px solid #d8d8d8;
}
<p id="machine1" class="working1"></p>
<p id="machine2" class="working1"></p>
<p id="machine3" class="working1"></p>
<p id="machine4" class="working1"></p>
<p id="machine5" class="working2"></p>
<p id="machine6" class="working2"></p>
<p id="machine7" class="working2"></p>
<p id="machine8" class="working2"></p>
答案 2 :(得分:0)
为了根据特定类别(在本例中为类名)对其进行排序,我们必须首先定义排序顺序,然后根据该排序对paras
进行排序-
//sort order, this can be helpful if you have multiple classes
let sortOrder = ['working2', 'working1'];
let sortedParas = [];
let paras = Array.from(document.querySelectorAll('.working1,.working2'));
sortOrder.forEach(order => {
paras.forEach(para => {
if(para.classList.contains(order)){
sortedParas.push(para);
}
});
});
let partnumber = 0;
for (const para of sortedParas) {
partnumber++
if (para.innerHTML === '') {
para.innerHTML = partnumber;
}
};