JQuery——我想单击一个单词来更改它,然后再次单击它来更改它
我希望用户能够点击“你好!”把它改成“再见!”然后再次单击以将其更改回“Hello!”。我已经到了打招呼的地步了改为“再见!”,但我不知道如何使函数“重复” 我是这方面的新手,所以欢迎所有的帮助和建议 就我所知: HTML:JQuery——我想单击一个单词来更改它,然后再次单击它来更改它,jquery,toggle,switch-statement,Jquery,Toggle,Switch Statement,我希望用户能够点击“你好!”把它改成“再见!”然后再次单击以将其更改回“Hello!”。我已经到了打招呼的地步了改为“再见!”,但我不知道如何使函数“重复” 我是这方面的新手,所以欢迎所有的帮助和建议 就我所知: HTML: 您也可以尝试以下方法: $("#greeting").click(function(){ if ($(this).text() == "Hello!") $(this).text("Goodbye!") else $(this).text("Hello!");
您也可以尝试以下方法:
$("#greeting").click(function(){
if ($(this).text() == "Hello!")
$(this).text("Goodbye!")
else
$(this).text("Hello!");
});
下面是另一种使用
切换的方法:
HTML
<body>
<p>Hello!</p>
<p style="display: none">Goodbye!</p>
</body>
您可以在此处进行测试:
jQuery文档中有一个类似于此的切换示例:您能解释一下这一行吗:$(this).text(函数(\ux,oldText)text
方法回调函数接受两个参数,第一个是jQuery集合中当前元素的index
,第二个是元素的当前textContent
,从函数返回的任何内容都将是元素的新文本内容。很好,但是在索引处,您传递了_,这是什么意思?@DeadMan-在这种情况下,索引
的值无关紧要,因此将其命名为\uu
,以显示其不重要。我们在这里寻找正确的逻辑答案,而不是像您的答案那样的任何小技巧。询问者说他希望能够单击“Hello!”,将其更改为“再见!”
,他说他是一个新手,所有的帮助/建议都是受欢迎的,所以即使这是一个“短技巧”,在jQuery中这也是一个有效的方法,他可以从中找到一些有用的东西。好的,如果你只是相信短技巧,那么我就通过向下投票收回。你必须编辑答案,这样我就可以收回向下投票,因为我的vo门是锁着的。
$("#greeting").click(function(){
$(this).text(function(_, oldText) {
return oldText === 'Goodbye!' ? 'Hello!' : 'Goodbye!';
});
});
$("#greeting").click(function(){
if ($(this).text() == "Hello!")
$(this).text("Goodbye!")
else
$(this).text("Hello!");
});
<body>
<p>Hello!</p>
<p style="display: none">Goodbye!</p>
</body>
$(document).ready(function(){
$("p").click(function () {
$("p").toggle();
});
});