拖放 - 验证答案

Drag and drop - Verify answers

如何创建一个按钮(如重置按钮)来检查元素是否放置在正确的位置?在这种情况下按升序排列。

<div id="drag1">
<span class="destaque" id="59" draggable="true" ondragstart="drag(event)">59</span>
<span class="destaque"id="45" draggable="true" ondragstart="drag(event)">45</span>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</div>
<input type="button" value="Reset" id="reset" onclick="reset1();">

CSS

span.destaque {
  background-color: green;
  padding:1em
}
#div1 {
  width: 50px;
  height: 50px;
  border: 2px solid #1086af;
}

JS

function allowDrop(ev) {
    ev.preventDefault();
}
function drag(ev) {
    ev.dataTransfer.setData("Text", ev.target.id);
}

function drop(event) {
  event.preventDefault();
  var data = event.dataTransfer.getData("text");
  event.target.appendChild(document.getElementById(data));
}
function reset1(){
    var div1 = document.getElementById("drag1");
    div1.innerHTML= html;
}                
var html;
window.onload = function(){
    html = document.getElementById("drag1").innerHTML;
}; 

如果您放置的所有元素都在一个父元素中,则可以按照它们在 DOM 树中出现的顺序返回一个子元素数组。数组中每个子元素的索引应反映这些元素重新排列和删除的方式。

parent = document.getElementById('parent');

children_array = [...parent.querySelectorAll('.child')];

此时,您可以遍历数组以查看每个元素是否与正确排序的元素匹配。