帮看下代码哪错了,总提示:NodeFilter对象未定义<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <head>
  <script type="text/javascript">
var iterator=null;
function makelist() {
var odiv=document.getElementById("div1");
iterator=document.createNodeIterator(odiv,NodeFilter.SHOW_ELEMENT,null,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">
<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 rows="10" cols="40" id="text1" > </textarea> <br/>
<input type="button" value="make list" onclick="makelist()">
 </BODY>
</HTML>

解决方案 »

  1.   

    这样也不行,为何呢?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <head>
      <script type="text/javascript">
    var iterator=null;
    function makelist() {
    var odiv=document.getElementById("div1");
    var ofilter=new Object;
    ofilter.acceptNode=function(onode1) {
    return (onode1.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">
    <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 rows="10" cols="40" id="text1" > </textarea> <br/>
    <input type="button" value="make list" onclick="makelist()">
     </BODY>
    </HTML>
      

  2.   

    你使用的是哪个版本的浏览器啊?你确定它识别NodeFilter.SHOW_ELEMENT吗???
      

  3.   

    那个对象好像是Mozilla系列浏览器的对象吧,IE系列不支持吧。
      

  4.   

    以下代码哪错了,点下按钮没反应呀。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <head>
      <script type="text/javascript">
        var iterator=null;
        function makelist() {
            var odiv=document.getElementById("div1");
            var ofilter=new Object;
            ofilter.acceptNode=function(onode1) {
                return (onode1.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">
            <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 rows="10" cols="40" id="text1" > </textarea> <br/>
        <input type="button" value="make list" onclick="makelist()">
     </BODY>
    </HTML>