Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Jquery更改文本字符串_Javascript_Jquery - Fatal编程技术网

Javascript 使用Jquery更改文本字符串

Javascript 使用Jquery更改文本字符串,javascript,jquery,Javascript,Jquery,我试图在使用Jquery单击链接时更改/还原文本字符串。现在,这段代码的第一条语句可以正常工作,但另一条语句不行。有人能帮我找出这里出了什么问题吗 <script> $("document").ready(function(e) { $("#newMessagelink").click(function(e) { $("#new-msg").toggle(); if($("#newMessagelink").text("New Message")

我试图在使用Jquery单击链接时更改/还原文本字符串。现在,这段代码的第一条语句可以正常工作,但另一条语句不行。有人能帮我找出这里出了什么问题吗

<script>
  $("document").ready(function(e) {
    $("#newMessagelink").click(function(e) {
      $("#new-msg").toggle();
      if($("#newMessagelink").text("New Message") {
        $("#newMessagelink").text("Back to Inbox");
      } else if($("#newMessagelink").text("Back to Inbox")) {
        $("#newMessagelink").text("New Message");
      }                     
    })
  });
</script>

$(“文件”)。就绪(功能(e){
$(“#newMessagelink”)。单击(函数(e){
$(“#新消息”).toggle();
如果($(“#新消息链接”).text(“新消息”){
$(“#newMessagelink”).text(“返回收件箱”);
}else if($(“#newMessagelink”).text(“返回收件箱”)){
$(“#newMessagelink”).text(“新消息”);
}                     
})
});

谢谢!

您的
if
语句将始终为真,因为始终返回jQuery对象。相反,您可以使用做一些简单的事情。您也可以使用
而不是
\newMessagelink
选择器,因为在单击处理程序中
指的是
\newMessagelink>

$("document").ready(function(e) {
  $("#newMessagelink").click(function(e) {
    $("#new-msg").toggle();
    $(this).text(function(i, text) {
      return text == "Back to Inbox" ? "New Message" : "Back to Inbox";
    });
  })
});
使用您自己的代码正确更改if条件

$("document").ready(function(e) {
    $("#newMessagelink").click(function(e) {
      $("#new-msg").toggle();
      var text= $(this).text();
      if(text=="New Message") {
        $(this).text("Back to Inbox");
      } else if(text=="Back to Inbox") {
        $(this).text("New Message");
      }                     
    })
});

您的
if
语句将始终为true,因为始终返回jQuery对象。相反,您可以使用执行一些简单的操作。您也可以使用
而不是
\newMessagelink
选择器,因为在单击处理程序
中,此
指的是
\newMessagelink

$("document").ready(function(e) {
  $("#newMessagelink").click(function(e) {
    $("#new-msg").toggle();
    $(this).text(function(i, text) {
      return text == "Back to Inbox" ? "New Message" : "Back to Inbox";
    });
  })
});
使用您自己的代码正确更改if条件

$("document").ready(function(e) {
    $("#newMessagelink").click(function(e) {
      $("#new-msg").toggle();
      var text= $(this).text();
      if(text=="New Message") {
        $(this).text("Back to Inbox");
      } else if(text=="Back to Inbox") {
        $(this).text("New Message");
      }                     
    })
});
尽量使用得当,

$("document").ready(function(e) {
  $("#newMessagelink").click(function(e) {
    $("#new-msg").toggle();
    var txt = $(this).text();
    $(this).text(txt == "New Message" ? "Back to Inbox" : "New Message");
  });
});
.text(“something”)
将返回一个
jquery包装对象
。如果在
If语句中传递它
,那么它的计算结果总是
true
。因此,获取目标元素的文本并正确检查它

此外,您还存在一些语法错误,如未关闭打开的括号等。在将问题提请他人注意之前,最好先查看一下您的控制台

尽量使用得当,

$("document").ready(function(e) {
  $("#newMessagelink").click(function(e) {
    $("#new-msg").toggle();
    var txt = $(this).text();
    $(this).text(txt == "New Message" ? "Back to Inbox" : "New Message");
  });
});
.text(“something”)
将返回一个
jquery包装对象
。如果在
If语句中传递它
,那么它的计算结果总是
true
。因此,获取目标元素的文本并正确检查它

此外,您还存在一些语法错误,如未关闭打开的括号等。在将问题提请他人注意之前,最好先查看一下您的控制台


$(“#newMessagelink”).text(“新消息”)应该做什么?如果你想检查#newMessagelink有文本“新消息”,你应该使用$(“#newMessagelink”).text()=”newmessage“$(“#newMessagelink”).text(“新消息”)应该做什么?如果你想检查#newMessagelink有文本“新消息”,你应该使用$(“#newMessagelink”).text()==”newmessage“所以我尝试了你的代码,使用此代码的想法是让链接默认显示“newmessage”文本。单击后,它应该显示“返回收件箱”。然后当“返回收件箱”时"单击后,它会返回到新消息。@user3772369是的。这正是您想要的。对吗?是的,但是对于您的代码,当我实现它时,由于某种原因,它在第一次单击时不起作用。它在第二次单击并继续单击时起作用。@user3772369在某种意义上不起作用?您能详细说明吗?当然,因此,当我运行应用程序时默认情况下,当我单击时,文本显示“New Message”,它隐藏了我想要的一些内容,但不会将文本更改为“Back to Inbox”。此时,文本仍然是“New Message”。但是,当我再次单击时,它会取消隐藏我想要的div,并将文本更改为“Back to Inbox”。因此,我尝试了您的代码,使用此代码背后的想法是在默认情况下为链接显示“新邮件”文本。单击后,它应显示“返回收件箱”。然后当“返回收件箱”单击后,它会返回到新消息。@user3772369是的。这正是您想要的。对吗?是的,但是对于您的代码,当我实现它时,由于某种原因,它在第一次单击时不起作用。它在第二次单击并继续单击时起作用。@user3772369在某种意义上不起作用?您能详细说明吗?当然,因此,当我运行应用程序时默认情况下,当我点击时,文本显示“New Message”,它隐藏了我想要的一些内容,但没有将文本更改为“Back to Inbox”。此时,文本仍然是“New Message”。但是,当我再次单击时,它会取消隐藏我想要的div,并将文本更改为“Back to Inbox”。