我正在尝试根据具有特定类
的字段的id
和name
创建一个变量。但我遇到了一些麻烦,因为我的 JS 因多年的 jQuery 而有点生疏了。
波纹管是我的代码和 here是它的 js fiddle 。
所以首先我要检查点击
,然后如果类invalid
存在,则运行一个循环来查找name属性
&每个具有 invalid
类的元素的 ID 属性
。
然后将其添加到一个数组
中,然后我打印该数组
。
很简单,但似乎并没有发挥作用。我将此归咎于多年使用 jQuery,因为我应该能够在 JS 中弹出像循环一样简单的东西,没有问题。但我不知所措,似乎找不到关于为什么我没有将打印打印到控制台日志的错误。
document.getElementById("submiter").onclick = function() {
errorLoop();
};
function errorLoop() {
var errClass = element.classList.contains("invalid"),
runner = document.document.getElementsByClassName("invalid"),
dataL = [];
if (errClass) {
for (var i = 0; i < runner.length; i++) {
var errName = runner.getAttribute("name"),
errId = runner.getAttribute("id");
dataL.push("Name: " + errName + " - ID: " + errId +", ");
} //End for
dataL.toString();
console.debug(dataL);
dataLayer.push({
"validationError": "datal"
});
} //End if
} //End errorLoop
<input type="radio" id="tiMs" name="ti" value="Ms" tabindex="16" class="invalid">
<input type="radio" id="tiMiss" name="ti" value="Miss" tabindex="17" class="invalid">
<input type="radio" id="tiMiss" name="hol" value="Miss" tabindex="17" class="invalid">
<a href="#" id="submiter">
<strong>clickit</strong>
</a>
最佳答案
根据您的要求更改代码
function foo() {
errorLoop();
}
function errorLoop() {
var runner = document.getElementsByClassName("invalid"), dataL = [];
if (runner) {
for (var i = 0; i < runner.length; i++) {
var errName = runner[i].getAttribute("name"), errId = runner[i]
.getAttribute("id");
dataL.push("Name: " + errName + " - ID: " + errId);
} //End for
dataL.toString();
console.log(dataL)
console.debug(dataL);
} //End if
} //End errorLoop
<input type="radio" id="tiMs" name="ti" value="Ms" tabindex="16"
class="invalid">
<input type="radio" id="tiMiss" name="ti" value="Miss" tabindex="17"
class="invalid">
<input type="radio" id="tiMiss" name="hol" value="Miss" tabindex="17"
class="invalid">
<a href="#" id="submiter" onclick="foo()"> <strong>clickit</strong>
</a>
关于javascript - 循环到变量然后打印 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39491204/