我有一个范围
<span id="spanActive">Show Inactive</span>
尝试使用JQuery更改文本,如下所示:
$('#spanActive').text(($(this).text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
但没有工作。
答案 0 :(得分:0)
使用以下代码
$('#spanActive').text(($('#spanActive').text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
您需要在事件处理程序中使用this
,该处理程序将在“this
”中包含当前对象。
查看此link
的工作演示如果您在span的点击事件处理程序中使用this
,请尝试使用以下代码
$('#spanActive').click(function () {
if($(this).text() == 'Show Inactive')
$(this).text('Hide Inactive');
else
$(this).text( 'Show Inactive');
});
查看演示
答案 1 :(得分:0)
如果此代码未包含在事件处理程序中,为什么它会起作用,因为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'
});
答案 2 :(得分:0)
尝试
$('#spanActive').text(($('#spanActive').text()=='Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
答案 3 :(得分:0)
您的代码有一个'this'引用,它是引用文档,而不是span。所以使用:
$('#spanActive').text(($("#spanActive").text() == 'Show Inactive') ? 'Hide Inactive' : 'Show Inactive');
答案 4 :(得分:0)
this
在此上下文中不起作用。试试这个:
$('#spanActive').text(($("#spanActive").text() == 'Show Inactive') ? 'Hide Inactive' : 'Show Inactive');