J'essaye d'atteindre la 2ème table 7ème rangée 1er td dans le div.

J'ai essayé

$('#WebPartWPQ1 table:first table:first tr:nth-child(6) td:first').html('test')

Mais ça ne montre rien

<div id='WebPartWPQ1'>
  ....
  ....
  <table>
     <tbody>
        <tr>
          <td>
            <span>
                ....
                .....
                <table>
                  <tbody>
                    ...
                    <tr> //7th row
                       <td> //1st td
                          <h3>
                            <nobr>
                                 This value has to change
                            </nobr>
                          </h3>
                        </td>

Comment résoudre ça?

2
James123 24 janv. 2017 à 09:04

3 réponses

Je pense que nous pouvons le faire comme jQuery eq() selector, Le résultat de cet appel est un arrière-plan gris pour l'élément 7. Notez que l'index fourni est basé sur zéro et fait référence à la position de l'élément dans l'objet jQuery, pas dans l'arborescence DOM.

$(function(){

  $('table tr td > table').find('tr').eq(6).addClass('selected');

});
$(function(){
	
$('table tr td > table').find('tr').eq(6).addClass('selected');
	
});
table {
	border:1px solid #000;
}
td {
	width:200px;
	border:1px solid #d1d1d1;
}
.selected {
  background:#ddd;
}
<table>
<tbody>
	<tr>
    	<td>ad</td>
        <td>ad</td>
        <td>
        	<table>
            <tbody>
            	<tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
                <tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
                <tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
                <tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
                <tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
                <tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
                <tr>
                	<td>ad</td>
                    <td>ad</td>
                </tr>
            </tbody>
            </table>
        </td>
    </tr>
</tbody>    
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
0
Jishnu V S 24 janv. 2017 à 06:15

Utilisez ceci ::

Voici https://jsfiddle.net/shantaram/fvznopns/4/

Vous avez utilisé html('test'), pour obtenir du code HTML contenant vous devez utiliser html()

$('.wrap table').find('table tr:nth-child(7) td:first').html("TEXT")

OU

$('.wrap table').find('table tr:nth-child(7) td:first').text("TEXT")

0
Shantaram Tupe 24 janv. 2017 à 06:26

Si vous parcourez vos lignes en boucle, il existe une meilleure solution.

Vous donnez à la ligne un attribut class et data pour cibler directement comme -

<tr class='myRow' data-index='7'> //guessing you are getting index while looping through

Ensuite, vous interrogez directement comme, vous retournera la ligne -

var row = $('.myRow').data('index',7)

Certes, il existe de nombreuses manières possibles.

0
Manoz 24 janv. 2017 à 06:20