在if/else语句中使用变量

在if/else语句中使用变量

问题描述:

我正在创建一个变量,该变量等于已被点击的<a>的文本,然后在if/else语句中使用该变量,但无法使其工作。我知道这个变量是正确的,我知道这个函数可以工作,因为我可以用一个“whatever.html”代替它并且它可以工作。但是我不能让该变量在其工作场所:在if/else语句中使用变量

$(".themenu a").click(function(){ 
      var stuff = $(this); 
      if (stuff == "Home"){ 
       $.get("main.html", function(data){ 
       $(".content").append(data); 
      }, "html"); 
    } 
+0

如果你想HTML出现在与'字符您的问题引号,(我已经更新了你的问题要做到这一点)。 – nnnnnn

+0

我想你必须改变第二行到'var stuff = $(this).text();' – Teneff

$(this);将让你一个jQuery对象,而不是它的文本,这样就不会等于"Home"。使用

var stuff = $(this).text(); 

var stuff = $(this).html(); 

你设置你的stuff变量引用由$(this),返回的jQuery对象,当你真正想要的是什么元素在jQuery对象,如文本所以:

var stuff = $(this).text(); 

编辑:请注意,在点击处理this将等于<a>元素,你也可以这样做:

var stuff = this.innerHTML; 

您的选择器选择作为对象的<a>节点。如果您想使用它进行比较,您首先必须获取该标签的值,ID或内容。

var stuff = $(this); 

现在,stuff包含表示<a href="url">Home</a>元件的DOM对象。 你想要的是提取标签之间的位。

var innerStuff = stuff.text(); 

,当然您也可以直接:

var stuff = $(this).text(); 

你应该做的,而不是var stuff = $(this).text();

+1

+1来平衡不明原因的-1(不知道为什么这是被拒绝的时候它是正确的,虽然这是一个重复的答案)。 – nnnnnn

尝试:

var stuff = $(this).text(); 
+0

+1来平衡不明原因的-1(不知道为什么这是正确的,但它是一个重复的答案)。 – nnnnnn