用于检查HTML的空元素的函数

时间:2013-11-29 04:29:31

标签: javascript html function

我想创建用于检查HTML的空元素的函数。

Javascript代码:

var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
  function getParamNames(params, formName, errorMSG) {
    if(result!="" && formName!=""){
      var fnStr = params.toString().replace(STRIP_COMMENTS, '');
      var result = fnStr.slice(fnStr.indexOf('(')+1, fnStr.indexOf(')')).match(/([^\s,]+)/g).toString();
      alert(document.frm.result.value);
      return false;
    }
    else{
      alert("Параметры функции не были заданы в JavaScript. Пожалуйста обратитесь к программистам.");
      return false;
    }
  }

HTML code:

<form name='frm' method='post' action='' onSubmit="getParamNames(function(ggg){}, 'frm', 'Хамаи катакчахо бояд пур карда шавад');">
   <input type="text" name="ggg" />
   <input type="submit" value="ssdfsdfdf" />
</form>

我收到此错误: TypeError:document.frm.result未定义

alert(document.frm.result.value);

1 个答案:

答案 0 :(得分:3)

我只是使用dom引用来做到这一点。

Live demo here (click).

//get a reference to all elements
var allElems = document.body.getElementsByTagName("*");

var emptyElems = []; //store empty elements here
for (var i=0; i<allElems.length; ++i) { //check each element for text or children
  if (!allElems[i].textContent && !allElems[i].hasChildNodes()) {
    emptyElems.push(allElems[i]); //add empty elements to array
  }
}

console.log(emptyElems);