2009-09-24 8 views
1

J'apprends à créer un plugin et j'ai du mal à créer mon propre sélecteur personnalisé.Comment retourner un sélecteur personnalisé/créé dans le plugin jquery

Si j'ai une table avec n-ième rangée et n-ième colonne ci-dessous

<table id="myTable"> 
    <tr><td></td>........<td></td></tr> 
    . 
    . 
    . 
    <tr><td></td>........<td></td></tr> 
</table> 

et je voudrais créer un plug-in qui a un sélecteur qui pointe sur une ligne spécifiée et la colonne

Cela pourrait comment la fonction plug-in ressemble

$.fn.Cell = function(row,col){ 
    //select the cell here ... assuming the target element is a table above 
    // this could somehow written below 
    var mycell = $(this).children().find('tr:eq(' + row + ')').children().find('td:eq(' + col + ')'); 
    // return the selector here 

}; 

Ensuite, je devrais avoir dans quelque chose comme code d'application ceci:

$("#myTable").Cell(2,3).text("Wow"); // this writes a text to row 2, col 3. 

Pouvez-vous aider à remplir le code manquant? J'ai essayé de regarder sur les plugins disponibles, mais jamais trouvé des fonctionnalités comme celle-ci. Je préfère savoir comment cela fonctionne que de connaître les noms et les liens des plugins existants. Mon but est d'apprendre le processus de création de plugins et de maîtriser jquery et javascript.

Répondre

1

Essayez ceci:

$.fn.Cell = function(row, col){ 
    return $('tr:nth-child('+row+')>td:nth-child('+col+')', this); 
}