JSFiddle - React, Tailwind, and code Playground
by fsy0718
HTML
<div id="container">
<div id="operatorSpace">
<h1> 操作区</h1>
<ul id="box">
<li class="li_1">第 1 行li</li>
<li class="li_2">第 2 行li</li>
<li class="li_3">第 3 行li</li>
<li class="li_4">第 4 行li</li>
<li class="li_5">第 5 行li</li>
</ul>
</div>
<!--test show start-->
<h1>操作结果展示区</h1>
<ul id="showSpace"></ul>
<!--test show end-->
</div>
JavaScript
$box = document.getElementById('box');
$oShowSpace = document.getElementById('showSpace');
public_fn = function(ele, p_ele, msg) {
var $ele;
if (ele == null) {
ele = 'li';
}
if (p_ele == null) {
p_ele = $oShowSpace;
}
$ele = document.createElement(ele);
$ele.innerHTML = msg;
if (p_ele.children.length) {
return p_ele.insertBefore($ele, p_ele.firstChild);
} else {
return p_ele.appendChild($ele);
}
};
public_node = function(type, ele) {
if (ele.type.nodeType === 1) {
return ele.type;
} else {
switch (type) {
case 'lastChild':
return (function() {
var $ele;
$ele = ele.lastChild.previousSibling;
while ($ele && $ele.nodeType !== 1) {
$ele = $ele.previousSibling;
}
return $ele;
})();
case 'firstChild':
return (function() {
var $ele;
$ele = ele.firstChild.nextSibling;
while ($ele && $ele.nodeType !== 1) {
$ele = $ele.nextSibling;
}
return $ele;
})();
default:
return '[]';
}
}
};
public_fn('li', null, 'children共有:' + $box.children.length + '个');
public_fn('li', null, 'childNodes共有:' + $box.childNodes.length + '个');
public_fn('li', null, 'lastChild是:' + public_node('lastChild', $box).tagName);