我有一个全局变量“ theClass”,在单击事件发生后,我尝试分配DOM元素的内容,然后尝试在另一页上使用它,但实际上甚至没有分配它!此代码,在控制台中返回“ false”。我正在使用jQuery。

var theClass = '';
var getCategories = false;

$(document).ready(function(){

  $(document).on("click", ".nav li a", function() {
    theClass = $(this).html();
    getCategories = true;
  });

  console.log(theClass+" "+getCategories);
});

最佳答案

按照您的代码,假设另一页实际上是您的代码中的其他位置。您的控制台日志将在ready函数中触发,但是,您正在设置/更新函数中的值。因此,您的日志记录将不会显示预期的结果。

您可以尝试仅登录基于事件的功能。并且会看到第一个日志提供默认值,然后单击之后提供更新值。

您可以尝试以下操作

 $(document).on("click", ".nav li a", function() {
console.log(theClass+" "+getCategories);
theClass = $(this).html();
getCategories = true;

});

关于javascript - 如何将DOM元素的html分配给全局变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32670400/

10-12 00:56