JQuery: contient la limite de fonction pour correspondre exactement

Utilisation de JQuery: contient une fonction permettant de décider quelle option d’une sélection est sélectionnée dans une variable SESSION.

La fonction contient correspond à la mauvaise option car il s’agit d’une option “PADI Open Water” et d’un autre “PADI Open Water Scuba Instructor”

Comment pouvons-nous le limiter pour correspondre au contenu exact et pas plus?

$('option:contains("")').attr('selected', 'selected'); 

Essayez d’utiliser .filter() pour trouver l’option de votre choix.

 $('option').filter(function(){ return $(this).html() == ""; }).attr('selected', 'selected'); 

La réponse de Rocket Hazmat a été en mesure de m’aider pour mon projet actuel, dans lequel une valeur de cookie est définie et la ligne de la table à laquelle cette valeur de cookie appartient doit être mise en évidence. Le code que j’avais à l’origine était:

 $(".datalist TBODY TR:has('TD.itemId:contains(" + activeRowCookie + ")')").attr('id', 'activeRow'); 

Ce qui a bien fonctionné jusqu’à ce que nous réalisions qu’une cellule de tableau pouvait contenir la valeur activeRowCookie plus d’ autres caractères, mais nous avions besoin d’une correspondance exacte avec tout le contenu de la cellule. En outre, nous recherchons la cellule qui contient cette valeur exacte, pas plus, mais nous mettons en surbrillance la ligne dans laquelle se trouve la cellule, pas seulement la cellule elle-même. Donc, je me suis fait au travail en adaptant la réponse ici à la suivante:

 $('.datalist TBODY TR TD.itemId').filter(function () { return $(this).text() == activeRowCookie; }).parent().attr('id', 'activeRow'); 

Et, oui, ce sélecteur initial doit être comme cela car nous ne voulons pas qu’il regarde les cellules de l’élément THEAD .

Essayez d’append une pseudo fonction extend:

 $.expr[':'].textEquals = $.expr.createPseudo(function(arg) { return function( elem ) { return $(elem).text().match("^" + arg + "$"); }; }); 

Ensuite, vous pouvez faire:

 $('p:textEquals("")').attr('selected', 'selected');