以下是一个示例代码,演示了如何按照标签对复选框进行排序:
HTML代码:
JavaScript代码:
function sortCheckboxes() {
  // 获取所有复选框元素
  var checkboxes = document.getElementsByClassName("checkbox");
  // 将复选框元素转换为数组
  var checkboxesArray = Array.from(checkboxes);
  
  // 根据标签属性进行排序
  checkboxesArray.sort(function(a, b) {
    var tagA = a.getAttribute("data-tag");
    var tagB = b.getAttribute("data-tag");
    if (tagA < tagB) {
      return -1;
    }
    if (tagA > tagB) {
      return 1;
    }
    return 0;
  });
  
  // 清空原有复选框元素
  for (var i = checkboxes.length - 1; i >= 0; i--) {
    checkboxes[i].parentNode.removeChild(checkboxes[i]);
  }
  
  // 将排序后的复选框元素添加回页面
  var container = document.body;
  for (var i = 0; i < checkboxesArray.length; i++) {
    container.appendChild(checkboxesArray[i]);
  }
}
此示例代码中,我们首先获取所有具有checkbox类的复选框元素,并将它们转换为数组。然后,我们使用数组的sort()方法和自定义的比较函数对复选框元素进行排序,比较函数根据复选框的标签属性进行排序。
接下来,我们清空原有复选框元素,并将排序后的复选框元素添加回页面。
最后,我们在页面上添加一个按钮,并在按钮的onclick事件中调用sortCheckboxes()函数来触发排序操作。
下一篇:按照标签对子项进行排序