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



下面是我用来检查元素是否存在然后为其分配类的代码。使用 jquery 日期选择器控件,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;
}
}

答案是使用 jquery 和这个函数

检查 jQuery 中是否存在元素

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

最新更新