2010-12-14 6 views
0

Anobody me suggérer comment accéder DIV en tddiv d'accès à l'aide JQuery

<table border="0" cellpadding="0" cellspacing="0" width="95%"> 
    <tr> 
     <td valign="top" style="width:25%"> 
      <img src="../NewsImages/82010437713162453512.bmp" id="rptAllNewsContent__ctl1_imgNews" width="120" height="120" /> 
     </td> 
     <td valign="top" align="left" style="width:*;padding-left:7px;"> 
      dsdsdsd 
     </td> 
    </tr> 
    <tr> 
     <td colspan="2"> 
      <table border="0" cellpadding="0" cellspacing="0" width="100%"> 
       <tr> 
        <td align="left" style="width:20%;"><a id="rptAllNewsContent__ctl1_lnkbtnTotalComments" href="javascript:__doPostBack('rptAllNewsContent$_ctl1$lnkbtnTotalComments','')" style="color:#80C355;">2 Comments</a></td> 
        <td align="left"><a id="rptAllNewsContent__ctl1_lnkbtnAddComments" href="javascript:__doPostBack('rptAllNewsContent$_ctl1$lnkbtnAddComments','')" style="color:#80C355;">Add Comments</a></td> 
       </tr> 
      </table> 
     </td> 
    </tr> 
    <tr><td colspan="2" style="height:13px;"></td></tr> 
    <tr> 
     <td> 
      <div id="rptAllNewsContent__ctl1_divComment"> 
      sdfasdasda 
      sdsa 
      d 
      asdas 
      </div> 
     </td> 
    </tr> 
    <tr> 
     <td valign="top" style="width:25%"> 
      <img src="../NewsImages/8201010976151655912.jpg" id="rptAllNewsContent__ctl2_imgNews" width="120" height="120" /> 
     </td> 
     <td valign="top" align="left" style="width:*;padding-left:7px;"> 
      dasdasd 
     </td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <table border="0" cellpadding="0" cellspacing="0" width="100%"> 
        <tr> 
         <td align="left" style="width:20%;"><a id="rptAllNewsContent__ctl2_lnkbtnTotalComments" href="javascript:__doPostBack('rptAllNewsContent$_ctl2$lnkbtnTotalComments','')" style="color:#80C355;">3 Comments</a></td> 
         <td align="left"><a id="rptAllNewsContent__ctl2_lnkbtnAddComments" href="javascript:__doPostBack('rptAllNewsContent$_ctl2$lnkbtnAddComments','')" style="color:#80C355;">Add Comments</a></td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
     <tr><td colspan="2" style="height:13px;"></td></tr> 
     <tr> 
      <td> 
       <div id="rptAllNewsContent__ctl2_divComment"> 
       sdfasdasda 
       sdsa 
       d 
       asdas 
       </div> 
      </td> 
     </tr> 
    </table> 

J'ai essayé de cette façon, mais ne fonctionne pas.

$(document).ready(function(){ 
    $("a[id$='lnkbtnTotalComments']").click(function(){ 
     $(this).parent("td").parent("tr").next("tr").next("tr td").find("div").text(); 
     return false; 
    }); 
    }); 
+0

Aimeriez-vous faire votre opération à chaque div, à chaque div dans la table, à chaque div dans des lignes particulières ou à une div spécifique? – bluish

+0

à chaque div dans les lignes particulières. Ce que je veux, c'est quand je clique sur "... lnkbtnTotalComments" linkbutton le div dans la rangée suivante devrait glisser vers le bas et si je clique à nouveau, il devrait glisser vers le haut. – Sukhjeevan

+0

quelle version de jQuery utilisez-vous? – Vivek

Répondre

1

(complètement différent de ma première solution)

Essayez ceci: - obtenir l'identifiant du lien cliqué sur - remplacer « lnkbtnTotalComments » avec « divComment » si nous obtenons l'identifiant du correspondant div

$("a[id$='lnkbtnTotalComments']").click(function() { 
    var id = $(this).attr("id").replace("lnkbtnTotalComments", "divComment"); 
    $("#" + id).html("gotcha"); 
    return false; 
}); 

Fonctionne pour moi. Vous pouvez faire tout ce que vous voulez au lieu de changer le contenu html bien sûr.

+0

erreur suivante vient: "L'objet ne supporte pas cette propriété ou méthode." – Sukhjeevan

+0

Merci dyve, ça a vraiment marché pour moi aussi. – Sukhjeevan

0
$(document).ready(function(){ 
    $("a[id$='lnkbtnTotalComments']").click(function(){ 
     $("#rptAllNewsContent__ctl1_divComment").text(); 
     return false; 
    }); 
    }); 
+0

Je ne peux pas y accéder par id bcoz le html j'ai montré en question est rendu html de répéteur. – Sukhjeevan

0

essayer: $('#rptAllNewsContent__ctl1_divComment').text();

+0

Je ne peux pas y accéder par id bcoz le html j'ai montré en question est rendu html de répéteur. – Sukhjeevan

0

Qu'en est-:

$(document).ready(function() { 
    var totalCommentsSel = "a[id$='lnkbtnTotalComments']", 
     commentsContSel = "div[id$='divComment']", 
     wrapper = "table"; 

    $(totalComments).click(function(e){ 
     var commentsDiv = $(this).closest(wrapper).find(commentsContSel); 
     // Use commentsDiv below 

     // Prevent the click from redirecting, but allow further propagation 
     e.preventDefault(); 
    }); 
}); 

EDIT: Celui-ci fonctionne (testé), mais il est le code pas joli. De toute façon vous pourriez changer dans un balisage plus agréable?

$(document).ready(function() { 
    var totalCommentsSel = "a[id$='lnkbtnTotalComments']", 
     commentsContSel = "div[id$='divComment']"; 

     $(totalCommentsSel).click(function(e){ 
      var $wrapper = $(this).closest('table').closest('tr').next().next(), 
       commentsDiv = $wrapper.find(commentsContSel); 
       // Use commentsDiv below 

       console.info($wrapper.length, commentsDiv.length, commentsDiv.length); 
       // Prevent the click from redirecting, but allow further propagation 
       return false; 
      }); 
     }); 
+0

Son erreur donnant "objet ne supporte pas cette propriété ou méthode." – Sukhjeevan