2010-11-02 16 views
6

J'essaie de sélectionner une cellule de tableau qui contient du texte spécifique mais n'a pas pu trouver encore comment cela fonctionne: J'ai ce code - mais ne fonctionne pas:jQuery selector: recherche de cellule de table basée sur le contenu

Toutes les idées quel est le problème?

+6

Cela devrait fonctionner. Pourriez-vous fournir plus de contexte pour votre code et votre code HTML? – lonesomeday

+0

utilisez-vous le 2ème argument dans $() correctement? – JustcallmeDrago

Répondre

8

L'exemple de code ci-dessous a fonctionné pour moi. Hope it helps ....

<script type="text/javascript"> 
function getCell(cell) 
{ 
    var cell || ''; 
    var result = $('tr').find('td:contains('+cell+')'); 

    alert($(result).text()); 
} 

<body onload="javascript:getCell('cell 4');"> 

<table width="30" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
    <td>cell 1</td> 
    <td>cell 2</td> 
    <td>cell 3</td> 
</tr> 
<tr> 
    <td>cell 4</td> 
    <td>cell 5</td> 
    <td>cell 6</td> 
</tr> 
<tr> 
    <td>cell 7</td> 
    <td>cell 8</td> 
    <td>cell 9</td> 
</tr> 
</table> 


</body> 
+2

pourquoi redécouvrez-vous la cellule? – bevacqua

0

Juste pour être sûr, "MyCell" est à l'intérieur de la cellule et non pas son nom de classe ou un attribut de la <td>, non?

Une autre possibilité est que le sélecteur :contains() soit sensible à la casse, donc si le contenu est "myCell", le sélecteur ne le trouve pas.

0

avez-vous essayé sans le ''? comme dans

var td = $("td:contains(MyCell)",tbl); 
3

Peut-être au lieu du second paramètre tbl

var td = $("#mySpecificTable td:contains('MyCell')"); 
+0

Approche rapide et efficace! – helvete