Existe-t-il un selector
élément que je peux rechercher pour les éléments dont l'ID se termine par une chaîne donnée?
Disons que j'ai un élément avec un identifiant de ctl00$ContentBody$txtTitle
. Comment puis-je obtenir cela en passant juste txtTitle
?
jquery
jquery-selectors
Josh Stodola
la source
la source
ClientIDMode=static
partir d'ASP.Net 4.0 et débarrassez-vous de cela :)Réponses:
Si vous connaissez le type d'élément, alors: (ex: remplacez 'element' par 'div')
Si vous ne connaissez pas le type d'élément:
Plus d'informations disponibles
Afficher l'extrait de code
la source
document.getElementById("f:fTest:j_idt51:0:inpTest")
. Ce n'est pas le cas$("[id$='inpTest']")
. Est-ce parce que deux points n'est pas autorisé dans l'ID (mais JSF l'ajoute!)?La réponse à la question est
$("[id$='txtTitle']")
, comme l'a répondu Mark Hurd , mais pour ceux qui, comme moi, veulent trouver tous les éléments avec un identifiant qui commence par une chaîne donnée (par exemple txtTitle), essayez ceci ( doc ):Si vous souhaitez sélectionner des éléments dont l'id contient une chaîne donnée ( doc ):
Si vous souhaitez sélectionner des éléments dont l'id n'est pas une chaîne donnée ( doc ):
(il correspond également aux éléments qui n'ont pas l'attribut spécifié)
Si vous souhaitez sélectionner des éléments dont l'id contient un mot donné, délimité par des espaces ( doc ):
Si vous souhaitez sélectionner des éléments dont l'id est égal à une chaîne donnée ou en commençant par cette chaîne suivie d'un trait d'union ( doc ):
la source
Essayer
montage: 4 secondes de retard: P
la source
Il n'est pas strictement nécessaire de citer le fragment de texte auquel vous correspondez
la source
Il est plus sûr d'ajouter le trait de soulignement ou $ au terme que vous recherchez, il est donc moins probable qu'il corresponde à d'autres éléments se terminant par le même ID:
(où élément est le type d'élément que vous essayez de trouver - par exemple
div
,input
etc.(Remarque, vous suggérez que vos identifiants contiennent généralement des signes $, mais je pense que .NET 2 a désormais tendance à utiliser des traits de soulignement dans l'ID à la place, donc mon exemple utilise un trait de soulignement).
la source
Un exemple: pour sélectionner tous les
<a>
s dont l'ID se termine par _edit:ou
la source
Comme il s'agit d'ASP.NET, vous pouvez simplement utiliser la balise ASP <% =%> pour imprimer l'ID client généré de txtTitle:
Cela se traduira par ...
... lorsque la page est rendue.
Remarque: Dans Visual Studio, Intellisense vous crie après avoir mis des balises ASP en JavaScript. Vous pouvez ignorer cela car le résultat est un code JavaScript valide.
la source
'ctl00$ContentBody$txtTitle'
, il en a'txtTitle'
, et il vous manque le premier mot#
pour correspondre à un identifiant. Mais l'OP a déjà rejeté une suggestion similaire (supprimée depuis): cela ne fonctionnera pas si je ne mets pas mon Javascript directement dans le balisage, ce qui est un cauchemar organisationnel. La séparation comportementale est cruciale pour ce projet.Essaye ça:
la source
Afin de trouver un id iframe se terminant par "iFrame" dans une page contenant de nombreux iframes.
la source