在if / else语句中使用变量

时间:2011-09-19 06:17:10

标签: jquery

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

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

5 个答案:

答案 0 :(得分:6)

$(this);将为您提供一个jQuery对象,而不是它的文本,因此它不会等于"Home"。使用

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

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

答案 1 :(得分:4)

您正在设置stuff变量以引用$(this)返回的jQuery对象,当您真正想要的是该jQuery对象中的元素文本时,如下所示:

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

编辑:请注意,您的点击处理程序this将等同于<a>元素,您也可以这样做:

var stuff = this.innerHTML;

答案 2 :(得分:2)

您的选择器选择<a>节点,该节点是一个对象。如果要将其用于比较,首先必须获取该标记的值,ID或内容。

var stuff = $(this);

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

var innerStuff = stuff.text();

当然,直接:

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

答案 3 :(得分:0)

您应该改为var stuff = $(this).text();

答案 4 :(得分:0)

尝试:

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