2013-01-11 27 views
0

我在一个页面中有2个上传按钮。当我点击上传按钮,选择文件并上传它,它会显示在一个表中,下面的HTML代码:jQuery在回发后更改类名

<div id="MainContents">   
<p>     
    <input type="hidden" id="89a11bfc-bb33-48f4-a5b4-1e062e8347c0"> 
    <button>Upload files</button> 
    <table cellspacing="1" cellpadding="2" class="UploadedTable"> 
     <tbody> 
      <tr class="Change_me_Row"> 
       <td /> 
       <td /> 
      </tr> 
     </tbody> 
    </table> 
</p>   
</div> 
<div id="MainContents">   
    <p>     
     <input type="hidden" id="53a2a220-4c76-46db-bafa-585c7f0c456b"> 
     <button>Upload files</button> 
     <table cellspacing="1" cellpadding="2" class="UploadedTable"> 
      <tbody> 
       <tr class="Change_me_Row"> 
        <td /> 
        <td /> 
       </tr> 
      </tbody> 
     </table> 
    </p>   
</div> 

我尝试,我想唯一的名称更改TR类名每次上传按钮。我有这样的上传按钮的OnPostback事件,我想是这样的:

$(this).find("tr").removeClass("Change_me_Row").addClass("New_Class_Name"); 

$(this).closest("tr").toggleClass("Change_me_Row New_Class_Name"); 

,但他们都没有工作!

我希望有人能帮助我。谢谢!

+0

回发导致页面刷新IIRC,如果是这样,那就是问题所在。 –

回答

0

尝试去到父,然后找到它的儿童类:

$(this).parent().children('Change_me_Row').toggleClass('Change_me_Row New_Class_Name'); 

同时,确保您的回调函数的上下文是正确的(this指向上传按钮)。

+1

谢谢,我用你的建议解决了这个问题,$(this).parent()。parent()。find('tr')。toggleClass('Change_me_Row New_Class_Name'); – Ragnarsson

+0

我很高兴我帮助) –