切换按钮标签上的文本

MrM*_*MrM 7 javascript jquery

我有一个show hide table rows功能,但现在想要更改我的文本.

<script language="javascript" type="text/javascript">

function HideStuff(thisname) {
    tr = document.getElementsByTagName('tr');        
    for (i = 0; i < tr.length; i++) {
        if (tr[i].getAttribute('classname') == 'display:none;') {
            if (tr[i].style.display == 'none' || tr[i].style.display=='block' )  {
                tr[i].style.display = ''; 
            }
            else {
                tr[i].style.display = 'block'; 
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

html如下......

<button id="ShowHide" onclick="HideStuff('hide');>Show/Hide</button>
Run Code Online (Sandbox Code Playgroud)

我想切换"显示/隐藏"文本.有任何想法吗?

Mar*_*iss 11

$('#HideShow').click(function() 
{ 
  if ($(this).text() == "Show") 
  { 
     $(this).text("Hide"); 
  } 
  else 
  { 
     $(this).text("Show"); 
  }; 
});
Run Code Online (Sandbox Code Playgroud)

另外,.toggle()有一个.toggle(偶数,奇数); 功能,使用对你来说最有意义,一个是稍微短的代码,但可能不太明确.

$('#HideShow').toggle(function()  
  {  
   $(this).text("Hide");  
     HideClick('hide');
  },  
  function()  
  {  
     $(this).text("Show"); 
     HideClick('hide'); 
  }  
);  
Run Code Online (Sandbox Code Playgroud)

注意:您可以根据需要在函数()中包含所需的任何其他操作,并且可以通过调用其中的HideClick()函数调用来消除标记/ html中的onclick.正如我在第二个例子中演示的那样.

作为后续内容,并提供替代方案,您可以将CSS类添加到CSS中

.hideStuff
{
display:none;
}
Run Code Online (Sandbox Code Playgroud)

然后将其添加到:

.toggle('.hideStuff');
Run Code Online (Sandbox Code Playgroud)

或者,更直接地:在适当的地方.

.addClass('.hideStuff');
.removeClass('.hideStuff');
Run Code Online (Sandbox Code Playgroud)


Fil*_*erg 5

使用jQuery这样的东西可能会起作用:

$('ShowHide').click(function(){
    if ( $('hide').css('display') == 'block' )
        $('ShowHide').val("Hide");
    else
        $('ShowHide').val("Show");
});
Run Code Online (Sandbox Code Playgroud)

我刚刚从头顶写了这个,所以你可能需要做一些修改,你可以在这里阅读更多关于css jquery api的内容.我所做的就是使用匿名函数