<p>我是好孩子</p>
var ps = document.getElementsByTagName("p");
                     for(var i=0; i<ps.length; i++){
                            if(ps[i].nodeType.nodeValue.lastChild == 3){
                                   alert("这个文本!")
                            }
                     }
怎么让它等于文本节点.就弹出alert对话框啊?

解决方案 »

  1.   

    <p>我是好孩子</p>
    var text = document.getElementsByTagName("p").innerHTML;
    if( text == "这个文本"  ){
        alert("yes!");
    }else{
        alert("wrong");
    }
      

  2.   

    对于Dom节点的nodeType
    1 Element node. 
    3 Text node. 另外,你的这种方法不能直接取到文本节点。文本节点是p标签的子元素
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script type="text/javascript">
    function findTextNode() {
    var ps = document.getElementsByTagName('p');
    for (var index = 0; index < ps.length; index++) {
    alert(ps[index].childNodes[0].nodeType);
    alert(ps[index].childNodes[0].nodeValue);
    }
    }
      </script>
     </HEAD> <BODY>
    <p>123</p>
    <input type="button" onclick="findTextNode();">
     </BODY>
    </HTML>
      

  3.   

    这个好像可以判断的吧,你可以用innerText判断。看看有没有文本内容