我正在学习如何将javascript转换为jquery,但可以';t通过全局变量进行正确转换
下面是javascript中原始代码的摘录。对于全局变量,我将如何将它们转换为jquery,以便在以后的代码中继续将它们转换为jquery我正在学习如何将javascript转换为jquery,但可以';t通过全局变量进行正确转换,javascript,jquery,Javascript,Jquery,下面是javascript中原始代码的摘录。对于全局变量,我将如何将它们转换为jquery,以便在以后的代码中继续将它们转换为jquery /* global variables tracking status of each form section */ var acresComplete = true; var cropsComplete = true; var monthsComplete = true; var fuelComplete = true; /* global varia
/* global variables tracking status of each form section */
var acresComplete = true;
var cropsComplete = true;
var monthsComplete = true;
var fuelComplete = true;
/* global variables referencing sidebar h2 and p elements */
var messageHeadElement = document.getElementById("messageHead");
var messageElement = document.getElementById("message");
/* global variables referencing fieldset elements */
var acresFieldset = document.getElementsByTagName("fieldset")[0];
var cropsFieldset = document.getElementsByTagName("fieldset")[1];
var monthsFieldset = document.getElementsByTagName("fieldset")[2];
var fuelFieldset = document.getElementsByTagName("fieldset")[3];
/* global variables referencing text input elements */
var monthsBox = document.getElementById("months");
var acresBox = document.getElementById("acres");
/* verify acres text box entry is a positive number */
function verifyAcres() {
var validity = true;
var messageText = "";
try {
if (!(acresBox.value > 0)) {
throw "Please enter a number of acres greater than 0.";
}
}
catch(message) {
validity = false;
messageText = message;
acresBox.value = ""; // remove erroneous entry from input box
}
finally {
acresComplete = validity;
messageElement.innerHTML = messageText;
messageHeadElement.innerHTML = ""; // remove any former recommendation heading
testFormCompleteness();
}
}
要使用id选择元素,可以使用
$(“#某些id”)
。在您的代码中,应该是
const messageHeadElement = $('#messageHead');
const messageElement = $('#message');
对于字段集
s,您可以像这样使用标记选择器:
const fieldsets = $('fieldset');
//.eq(0) returns a jQuery object while [0] will return the DOM element.
const acresFieldset = fieldsets.eq(0);
没关系,我知道该怎么做了。我只需要删除全局变量,然后转到现在删除的全局变量的每个引用,并用一行jquery替换它,以引用我需要进行的更改。在下面的代码片段中,我删除了侧栏元素的变量,并使jquery代码在没有全局变量的情况下工作
/* global variables tracking status of each form section */
var acresComplete = true;
var cropsComplete = true;
var monthsComplete = true;
var fuelComplete = true;
/* global variables referencing fieldset elements */
var acresFieldset = document.getElementsByTagName("fieldset")[0];
var cropsFieldset = document.getElementsByTagName("fieldset")[1];
var monthsFieldset = document.getElementsByTagName("fieldset")[2];
var fuelFieldset = document.getElementsByTagName("fieldset")[3];
/* global variables referencing text input elements */
var monthsBox = document.getElementById("months");
var acresBox = document.getElementById("acres");
/* verify acres text box entry is a positive number */
function verifyAcres() {
var validity = true;
var messageText = "";
try {
if (!(acresBox.value > 0)) {
throw "Please enter a number of acres greater than 0.";
}
}
catch(message) {
validity = false;
messageText = message;
acresBox.value = ""; // remove erroneous entry from input box
}
finally {
acresComplete = validity;
$("#message").text(messageText);
$("#messageHead").text("");
testFormCompleteness();
}
}
这是为了上课,所以我不得不去。