<div></div><div>  </div>
第1个div完全没有内容,第2个div只有2个空格,想要实现这样的功能:
如果div里面没内容或者只有空格,就给div添加一个css样式。我通过xxx.firstChild.nodeValue和xxx.firstChild判断都是错误的,很奇怪,不知道应该怎么写才对。

解决方案 »

  1.   


     <style>
     .blank {width:100px; height:30px; background:#EEEEFF; border:1px solid red}
     </style>
     <div></div><div>  </div><div>内容</div>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    var divs = document.getElementsByTagName("div");
    var reg = /^\s*$/
    for (var i=0; i<divs.length; i++)
    {
    if (reg.test(divs[i].innerHTML)) divs[i].className = "blank";
    }
      //-->
      </SCRIPT>
      

  2.   

    \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
    如果只要匹配空格,就把正则改成 var reg = /^ *$/
      

  3.   

    必须要用正则?if (reg.test(divs[i]reg.test代表什么意思?
      

  4.   

    test 方法
    返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。用正则简单
      

  5.   

    简单的说下这个正则吧
    var reg = /^\s*$/
    ^ 匹配输入字符串的开始位置。 
    $ 匹配输入字符串的结束位置。 
    * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。
    \s 匹配任何空白字符,包括空格、制表符、换页符等等。 /^\s*$/ 就是匹配从开始到结束中间只有空白字符的字符串
    /^ *$/ 匹配从开始到结束中间只有空格的字符串test 方法
    返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。reg.test(string) 就返回字符串string是否匹配正则表达式reg