document.querySelectorAll返回一些空白的元素,如何获取所有控件?

时间:2018-05-29 22:52:01

标签: javascript jquery html asp.net

下面是我检查元素是否存在的代码,然后为其分配一个类。使用jquery datepicker控件,document.queryselectorall结果显示为空白,如何获取“allInputsAndSelects = document.querySelectorAll('input,select,datepickerFilterStartDate,datepickerFilterEndDate');”的所有项目。 ?

这是一个输入,但这不适用于我的代码和div以及实际的ID也不起作用?

由于

          var controlList = ['datepickerInputStart', ]; //'tbxPassword', 'tbxConfirmPassword', 'ddlLogonDomain', 'ddlDatabase', 'tbxOuNameSelected'];
          if (checkControlExistence(controlList)) {
              var valToCheck = ($("#datepickerInputStart").val())
              if (($('#datepickerInputStart').val() != '')) {
                  if (checkForNumericValuesOnly(valToCheck)) {
                      if (valToCheck.length == 6) {
                          document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " inprogress";
                          document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " required";
                          document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className + " successful";
                      }
                      else {
                          document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " successful";
                          document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " required";
                          document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className + " inprogress";
                      }
                  }
                  else if (checkForNumericValuesOnly(valToCheck) == false) {
                      document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " successful";
                      document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " required";
                      document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className + " inprogress";
                  }
              }
              else {
                  document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " inprogress";
                  document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className - " successful";
                  document.getElementById("datepickerInputStart").className = document.getElementById("datepickerInputStart").className + " required";
              }

          }




  function checkControlExistence(controlsToCheckFor) {
      var existingControlCount = 0;
      var allInputs = new Array();
      var allSelects = new Array();
      var foundControls = new Array();
      var allInputsAndSelects = new Array();
      //allInputs = document.getElementsByTagName('input');
      allInputsAndSelects = document.querySelectorAll('input, select, datepickerFilterStartDate, datepickerFilterEndDate');
      //allSelects = document.getElementsByTagName('select');
      var inputNameList = ["First Element", " ", controlsToCheckFor];
      for (i = 0; i < allInputsAndSelects.length; i++) // mazda, bmw, saab, volvo, toyota
      {
          for (var j = 0; j < controlsToCheckFor.length; j++) {
              var inputName = allInputsAndSelects[i].name.toString();
              inputNameList.push(inputName);
              if (inputName.indexOf(controlsToCheckFor[j].toString()) !== -1) {
                  existingControlCount++;
                  foundControls.push(controlsToCheckFor[j].toString());
              }
          }
      }

      inputNameList;
      if (controlsToCheckFor.length == existingControlCount) {
          return true;
      }
      else {
          return false;
      }
  }

1 个答案:

答案 0 :(得分:0)

答案是使用jquery和这个函数

answered

我确信在上面的代码中有一种方法可以使用javascript,但我不知道答案。如果他们偶然发现这篇帖子,也许会有人发帖。