我有一个跨度
<span id="spanActive">Show Inactive</span>
尝试使用 JQuery 更改文本,如下所示:
$('#spanActive').text(($(this).text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
但不工作。
我有一个跨度
<span id="spanActive">Show Inactive</span>
尝试使用 JQuery 更改文本,如下所示:
$('#spanActive').text(($(this).text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
但不工作。
使用下面的代码
$('#spanActive').text(($('#spanActive').text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
您需要this
在事件处理程序中使用,该处理程序将在“ this
”中包含当前对象。
在此链接检查工作演示
如果您this
在单击事件处理程序中使用 span,请尝试使用以下代码
$('#spanActive').click(function () {
if($(this).text() == 'Show Inactive')
$(this).text('Hide Inactive');
else
$(this).text( 'Show Inactive');
});
在此链接查看演示 在此处输入链接描述
如果此代码未封装在事件处理程序中,为什么它会起作用,因为this
它外部没有上下文。
('#spanActive').on('click', function() {
$(this).text(($(this).text()=='Show Inactive')
? 'Hide Inactive' : 'Show Inactive');
});
如果你想在事件的上下文之外使用它,那么你可以试试这个
('#spanActive').text(function(_, txt) {
return txt === 'Show Inactive'? 'Hide Inactive' : 'Show Inactive'
});
尝试
$('#spanActive').text(($('#spanActive').text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
您的代码有一个“this”引用,它引用的是文档,而不是跨度。所以使用:
$('#spanActive').text(($("#spanActive").text() == 'Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
this
在这种情况下不起作用..试试这个:
$('#spanActive').text(($("#spanActive").text() == 'Show Inactive') ? 'Hide Inactive' : 'Show Inactive');