gistfile1.txt /** * 封装了一个兼容版本的获取上一个标签节点的函数 * @param ele * @returns {*} */function getPrevElement(ele) { // 能力检测 if (ele ele.previousElementSibling) { return ele.previousElementSibling; } e
/** * 封装了一个兼容版本的获取上一个标签节点的函数 * @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--; } } }