当前位置 : 主页 > 网络编程 > JavaScript >

获取其他兄弟元素及封装

来源:互联网 收集:自由互联 发布时间:2021-06-30
gistfile1.txt /** * 封装了一个兼容版本的获取上一个标签节点的函数 * @param ele * @returns {*} */function getPrevElement(ele) { // 能力检测 if (ele ele.previousElementSibling) { return ele.previousElementSibling; } e
gistfile1.txt
/**
 * 封装了一个兼容版本的获取上一个标签节点的函数
 * @param ele
 * @returns {*}
 */
function getPrevElement(ele) {
  // 能力检测
  if (ele && ele.previousElementSibling) {
    return ele.previousElementSibling;
  } else {
    ele = ele.previousSibling;
    while (ele && ele.nodeType != 1) {
      ele = ele.previousSibling;
    }
    return ele;
  }
}

/**
 * 封装了一个兼容的获取第一个子标签节点的函数
 * @param ele
 * @returns {*}
 */
function getFirstElement(ele) {
  // 能力检测
  if (!ele) {
    return; //跳出函数,return后面的代码都不会执行
  }
  if (ele.firstElementChild) {
    return ele.firstElementChild;
  } else {
    ele = ele.firstChild;
    while (ele && ele.nodeType != 1) {
      ele = ele.nextSibling;
    }
    return ele;
  }
}
/**
 * 封装了一个兼容版本的获取最后一个子标签节点的函数
 * @param ele
 * @returns {*}
 */
function getLastElement(ele) {
  // 能力检测
  if (!ele) {
    return; 
  }
  if (ele.lastElementChild) {
    return ele.lastElementChild;
  } else {
    ele = ele.lastChild;
    while (ele && ele.nodeType != 1) {
      ele = ele.previousSibling;
    }
    return ele;
  }
}

function $$(id) {
  return document.getElementById(id);
}


function moveAll(source, target) {
  var source = $$(source);
  var target = $$(target);
  var options = source.children;
  for (var i = 0; i < options.length; i++) {
    target.appendChild(options[i]);
    i--;
  }
}

function moveSel(source, target) {
  var source = $$(source);
  var target = $$(target);
  var options = source.children;
  for (var i = 0; i < options.length; i++) {
    if (options[i].selected) {
      target.appendChild(options[i]);
      i--;
    }
  }
}
网友评论