过滤掉某个节点,则该节点下的所有子节点都被过滤掉,如下代码,但是,我的页面怎么运行不出效果呢?提示NodeFilter未定义。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>遍历DOM—NodeIterator</title>
<script type="text/javascript">
//
var iterator=null;
function makeList()
{
var oDiv=document.getElementById("div1");
var oFilter=new Object;
oFilter.acceptNode=function(oNode){
return (oNode.tagName=="p")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT;
};
iterator=document.createNodeIterator(oDiv,NodeFilter.SHOW_ELEMENT,oFilter,false);
var oOutPut=document.getElementById("text1");
var oNode=iterator.nextNode();
while(oNode){
oOutPut.value+=oNode.tagName+"\n";
oNode=iterator.nextNode();
}
alert("asdf");
return;
}
</script>
</head><body>
<div id="div1">
<p>Hello <b>World</b></p>
<ul>
<li>List Item 1
</li>
<li>List Item 2
</li>
<li>List Item 3
</li>
</ul>
</div>
<textarea name="textarea" cols="40" rows="10" id="text1"></textarea><br/>
<input id="BtnMakeList" type="button" value="Make List" onclick="makeList()"/></body>
</html>
请大侠们及时指教。谢谢了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>遍历DOM—NodeIterator</title>
<script type="text/javascript">
//
var iterator=null;
function makeList()
{
var oDiv=document.getElementById("div1");
var oFilter=new Object;
oFilter.acceptNode=function(oNode){
return (oNode.tagName=="p")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT;
};
iterator=document.createNodeIterator(oDiv,NodeFilter.SHOW_ELEMENT,oFilter,false);
var oOutPut=document.getElementById("text1");
var oNode=iterator.nextNode();
while(oNode){
oOutPut.value+=oNode.tagName+"\n";
oNode=iterator.nextNode();
}
alert("asdf");
return;
}
</script>
</head><body>
<div id="div1">
<p>Hello <b>World</b></p>
<ul>
<li>List Item 1
</li>
<li>List Item 2
</li>
<li>List Item 3
</li>
</ul>
</div>
<textarea name="textarea" cols="40" rows="10" id="text1"></textarea><br/>
<input id="BtnMakeList" type="button" value="Make List" onclick="makeList()"/></body>
</html>
请大侠们及时指教。谢谢了。
<head>
<title>Are you a man?</title>
<style type="text/css">
html
{
background-color:lightblue;
}.content
{
background-color:white;
padding:10px;
height: 100px;
width 200px;
font: Arial 10px ;
float : top;
}
</style><script type="text/javascript">
var iterator=null;
function makeList()
{
var oDiv=document.getElementById("div1");
var oFilter=new Object;
oFilter.acceptNode=function(oNode)
{
return (oNode.tagName=="p")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT;
};
iterator=document.createNodeIterator(oDiv,NodeFilter.SHOW_ELEMENT,oFilter,false);var oOutput=document.getElementById("text1");
var oNode=iterator.nextNode();
while(oNode)
{
oOutput.value+=oNode.tagName+"\n";
oNode=iterator.nextNode();
}
}</script>
</head>
<body>
<div id="div1" class="content">
<p>Hello <b>World!</b></p>
<ul>
<li>List item 1</li>
<li>List itme 2</li>
<li>List itme 3</li>
</ul>
<textarea row="10" cols="40" id="text1"></textarea><br />
<input type="button" value="Make List" onclick="makeList()" />
</body>
</html>
这个程序显然没有什么错 但在ie和firefox中都没有什么效果 无语啊