Javascript 如何在一个jQuery调用中切换两个文本?
假设您有一个Javascript 如何在一个jQuery调用中切换两个文本?,javascript,jquery,jquery-selectors,jquery-events,Javascript,Jquery,Jquery Selectors,Jquery Events,假设您有一个。单击()。您可以在该中编写什么代码。单击()调用,以便每次单击所选元素时,都可以更改两个字符串之间的文本。我假设.toggle()和.text()将在这里扮演一个角色…尝试以下几点: $element.bind('click', function() { $(this).html($(this).html() == 'string1' ? 'string2' : 'string1'); }); 编辑-2020-01-28 请注意,bind()现在已被弃用。从jQuery
。单击()。您可以在该中编写什么代码。单击()
调用,以便每次单击所选元素时,都可以更改两个字符串之间的文本。我假设.toggle()
和.text()
将在这里扮演一个角色…尝试以下几点:
$element.bind('click', function() {
$(this).html($(this).html() == 'string1' ? 'string2' : 'string1');
});
编辑-2020-01-28
请注意,bind()
现在已被弃用。从jQuery 1.7+开始,您应该改用()上的
:
$element.on('click', function() {
$(this).text((i, t) => t == 'string1' ? 'string2' : 'string1');
});
试试这个:
$('#someElement').toggle(function(){
$(this).text('text1');
},
function(){
$(this).text('text2');
}
);
假设您的clickableElement是一个按钮,您希望切换按钮的文本/标签:
$('#clickableElement').click(function() {
var originalValue = $(this).val();
$(this).val(originalValue == 'string1' ? 'string2' : 'string1');
});
$('togglep')。在('click',function()上{
$(this).text(函数(st1,st2){
if(st2=='MARKO'){return'POLO'};
返回“MARKO”
})
})
哪两个字符串?什么是文本?我不认为真正的字符串是什么重要…哦,没关系。。我刚刚理解了你的意思。+1-与公认的答案不同,无论文本的初始状态如何,此方法都会起作用。如你所见,toggle事件可能需要几个处理程序。这在jquery 1.8中被弃用,在1.9中被删除。这不应该像@vroo所指出的那样使用。@hoopyfrood的答案更好。虽然这段代码可以解决这个问题,但它解决问题的方式和原因确实有助于提高文章的质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。