¿Hay alguna selector
que pueda consultar para elementos con una ID que termina con una cadena dada?
Digamos que tengo un elemento con una identificación de ctl00$ContentBody$txtTitle
. ¿Cómo puedo obtener esto pasando solo txtTitle
?
jquery
jquery-selectors
Josh Stodola
fuente
fuente
ClientIDMode=static
desde ASP.Net 4.0 en adelante y deshacerse de esto :)Respuestas:
Si conoce el tipo de elemento, entonces: (por ejemplo: reemplace 'elemento' con 'div')
Si no conoce el tipo de elemento:
Más información disponible.
Mostrar fragmento de código
fuente
document.getElementById("f:fTest:j_idt51:0:inpTest")
. Esto no lo hace$("[id$='inpTest']")
. ¿Es porque los dos puntos no están permitidos en la ID (pero JSF lo agrega)?La respuesta a la pregunta es
$("[id$='txtTitle']")
, como Mark Hurd respondió , pero para aquellos que, como yo, quieren encontrar todos los elementos con una identificación que comience con una cadena dada (por ejemplo, txtTitle), intente esto ( doc ):Si desea seleccionar elementos cuya identificación contiene una cadena dada ( doc ):
Si desea seleccionar elementos cuya identificación no es una cadena dada ( doc ):
(también coincide con los elementos que no tienen el atributo especificado)
Si desea seleccionar elementos cuya identificación contiene una palabra dada, delimitada por espacios ( doc ):
Si desea seleccionar elementos cuya identificación es igual a una cadena dada o comenzar con esa cadena seguida de un guión ( doc ):
fuente
Tratar
editar: 4 segundos tarde: P
fuente
No es estrictamente necesario citar el fragmento de texto con el que se compara
fuente
Es más seguro agregar el guión bajo o $ al término que está buscando, por lo que es menos probable que coincida con otros elementos que terminan en la misma ID:
(donde elemento es el tipo de elemento que está tratando de encontrar, por ejemplo
div
,input
etc.(Tenga en cuenta que está sugiriendo que sus ID tienden a tener signos $ en ellos, pero creo que .NET 2 ahora tiende a usar guiones bajos en la ID, así que mi ejemplo usa un guión bajo).
fuente
Un ejemplo: para seleccionar todos
<a>
los correos con ID que terminen en _editar:o
fuente
Como se trata de ASP.NET, simplemente puede usar la etiqueta ASP <% =%> para imprimir el ClientID generado de txtTitle:
Esto resultará en ...
... cuando se representa la página.
Nota: en Visual Studio, Intellisense le gritará por poner etiquetas ASP en JavaScript. Puede ignorar esto ya que el resultado es JavaScript válido.
fuente
'ctl00$ContentBody$txtTitle'
, él sí'txtTitle'
, y le falta el líder#
para que coincida con una identificación. Pero el OP ya ha rechazado una sugerencia similar (desde que se eliminó): esto no funcionará a menos que coloque mi Javascript directamente en el marcado, lo cual es una pesadilla organizacional. La separación del comportamiento es crucial para este proyecto.Prueba esto:
fuente
Para encontrar una identificación de iframe que termine con "iFrame" dentro de una página que contiene muchos iframes.
fuente