下为一个页面的代码,它主要测试能否把文档中的
<label id="outerLab"><label id="innerLab">abc<input type="text" id="innerTxt"/></label></label>变为
<label id="outerLab">abc<input type="text" id="innerTxt"/></label>即把<label id="innerLab">及其对应的</label>从文档中删掉。
代码在IE8下运行能达到目标效果,但在firefox却不行,不知是什么原因!<html>
<head>
<script>
function delLab() {
var labs = document.getElementsByTagName("label");
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML); for (var i = 0; i < labs.length; i++) {
var lab = labs[i];
if (lab.id == "innerLab") {
var labChildNodes = lab.childNodes;
for (var j = 0; j < labChildNodes.length;) {
lab.parentNode.insertBefore(labChildNodes[j], lab);
}
lab.parentNode.removeChild(lab);
}
}
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML);
}
</script>
</head>
<body>
<label id="outerLab"><label id="innerLab">abc<input type="text" id="innerTxt"/></label></label>
<br><input type="button" value="删除lab" onclick="delLab();" />
</body>
</html>
<label id="outerLab"><label id="innerLab">abc<input type="text" id="innerTxt"/></label></label>变为
<label id="outerLab">abc<input type="text" id="innerTxt"/></label>即把<label id="innerLab">及其对应的</label>从文档中删掉。
代码在IE8下运行能达到目标效果,但在firefox却不行,不知是什么原因!<html>
<head>
<script>
function delLab() {
var labs = document.getElementsByTagName("label");
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML); for (var i = 0; i < labs.length; i++) {
var lab = labs[i];
if (lab.id == "innerLab") {
var labChildNodes = lab.childNodes;
for (var j = 0; j < labChildNodes.length;) {
lab.parentNode.insertBefore(labChildNodes[j], lab);
}
lab.parentNode.removeChild(lab);
}
}
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML);
}
</script>
</head>
<body>
<label id="outerLab"><label id="innerLab">abc<input type="text" id="innerTxt"/></label></label>
<br><input type="button" value="删除lab" onclick="delLab();" />
</body>
</html>
<label id="innerLab">
abc
<input id="innerTxt" type="text"/>
</label>
<br/>
<input type="button" onclick="delLab();" value="删除lab"/>
</body>
<html> <head>
<script>
function delLab() {
var labs = document.getElementsByTagName("div");
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML); for (var i = 0; i < labs.length; i++) {
var lab = labs[i];
if (lab.id == "innerLab") {
var labChildNodes = lab.childNodes;
for (var j = 0; j < labChildNodes.length;) {
lab.parentNode.insertBefore(labChildNodes[j], lab);
}
lab.parentNode.removeChild(lab);
}
}
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML);
}
</script>
</head> <body>
<div id="outerLab"> <div id="innerLab">abc <input type="text" id="innerTxt"/> </div> </div> <br> <input type="button" value="删除lab" onclick="delLab();" />
</body> </html>
<html>
<head>
<script>
function delLab() {
var labs = document.getElementsByTagName("label");
var outerLab = document.getElementById("outerLab");
// alert(outerLab.innerHTML);
for (var i = 0; i < labs.length; i++) {
var lab = labs[i];
if (lab.id == "innerLab"){
var labChildNodes = lab.childNodes;
for (var j = 0; j < labChildNodes.length;) {
outerLab.appendChild(labChildNodes[j]);
}
lab.parentNode.removeChild(lab);
}
}
var outerLab = document.getElementById("outerLab");
alert(outerLab.innerHTML);
}
</script>
</head> <body>
<label id="outerLab">
<label id="innerLab">abc<input type="text" id="innerTxt"/></label>
</label>
<br><input type="button" value="删除lab" onclick="delLab();" />
</body>
</html>
document.getElementById("outerLab").innerHTML = document.getElementById("outerLab").innerHTML.replace(/<label id="innerLab">(.*)<\/label>/ig,'\$1')