swapNode主要的作用用于交换节点。
用法如下:
if(navigator.userAgent.indexOf("MSIE")<=0){ //判断是否是IE以外的浏览器
swapNode(a,b);
}else{
a.swapNode(b);
}
//交换2个DOM节点
function swapNode(node1,node2)
{
var parent = node1.parentNode;//父节点
var t1 = node1.nextSibling;//两节点的相对位置
var t2 = node2.nextSibling;
//如果是插入到最后就用appendChild
if(t1) parent.insertBefore(node2,t1);
else parent.appendChild(node2);
if(t2) parent.insertBefore(node1,t2);
else parent.appendChild(node1);
}
例如:
var skyx = document.getElementById('yx');
var kkyx = document.getElementById('kkyx');
if(skyx.options[0].value==''){
skyx.options[0].innerText = '(全部)';
kkyx.options[0].innerText = '(全部)';
}else{
skyx.options.add(new Option('(全部)','all'));
//skyx.options[skyx.options.length-1].swapNode(skyx.options[0]);
kkyx.options.add(new Option('(全部)','all'));
//kkyx.options[kkyx.options.length-1].swapNode(kkyx.options[0]);
if(navigator.userAgent.indexOf("MSIE")<=0){ //判断是否是IE以外的浏览器
swapNode(skyx.options[skyx.options.length-1],skyx.options[0]);
swapNode(kkyx.options[kkyx.options.length-1],kkyx.options[0]);
}else{
skyx.options[skyx.options.length-1].swapNode(skyx.options[0]);
kkyx.options[kkyx.options.length-1].swapNode(kkyx.options[0]);
}
kkyx.options[0].selected=true;
}
如果想在IE中交换位置a.swapNode(b)可以这么使用, firefox中则是swapNode(a,b) 这么使用