我正在学习如何将javascript转换为jquery,但可以';t通过全局变量进行正确转换

我正在学习如何将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

下面是javascript中原始代码的摘录。对于全局变量,我将如何将它们转换为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 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();      
   }
}

这是为了上课,所以我不得不去。