jQuery Selector: Id termina con?

¿Hay un selector que pueda consultar para elementos con un ID que termine con una cadena dada?

Supongamos que tengo un elemento con una ID de ctl00$ContentBody$txtTitle . ¿Cómo puedo obtener esto pasando solo txtTitle ?

Si conoce el tipo de elemento, entonces: (p. Ej .: reemplace ‘element’ con ‘div’)

$("element[id$='txtTitle']")

Si no conoce el tipo de elemento:

$("[id$='txtTitle']")

Más información disponible


 // the old way, needs exact ID: document.getElementById("hi").value = "kk"; $(function() { $("[id$='txtTitle']").val("zz"); }); 
   

La respuesta a la pregunta es $("[id$='txtTitle']") , como respondió Mark Hurd , pero para aquellos que, como yo, quieren encontrar todos los elementos con una identificación que comienza con una cadena dada (para ejemplo txtTitle), prueba esto ( doc ):

 $("[id^='txtTitle']") 

Si desea seleccionar elementos cuyo id contiene una cadena dada ( doc ):

 $("[id*='txtTitle']") 

Si desea seleccionar elementos cuyo id no es una cadena dada ( doc ):

 $("[id!='myValue']") 

(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 ):

 $("[id~='myValue']") 

Si desea seleccionar elementos cuya identificación es igual a una cadena dada o comenzando con esa cadena seguida de un guión ( doc ):

 $("[id|='myValue']") 

Tratar

 $("element[id$='txtTitle']"); 

editar: 4 segundos tarde: P

 $('element[id$=txtTitle]') 

No es estrictamente necesario citar el fragmento de texto con el que se compara

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:

 $("element[id$=_txtTitle]") 

(donde element es el tipo de elemento que estás 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 el ID, por lo que mi ejemplo usa un guión bajo).

Un ejemplo: para seleccionar todos los s con ID terminando en _edit:

 jQuery("a[id$=_edit]") 

o

 jQuery("a[id$='_edit']") 

Como esto es ASP.NET, simplemente puede usar la etiqueta ASP < % =%> para imprimir el ClientID generado de txtTitle:

 $('< %= txtTitle.ClientID %>') 

Esto dará como resultado …

 $('ctl00$ContentBody$txtTitle') 

… cuando se procesa la página.

Nota: en Visual Studio, Intellisense te gritará por poner tags ASP en JavaScript. Puede ignorar esto ya que el resultado es JavaScript válido.

Prueba esto:

  var test = $(this).find('[id*="_h"').val(); 

Para encontrar una ID de iframe que termine con “iFrame” dentro de una página que contenga muchos iframes.

 jQuery(document).ready(function (){ jQuery("iframe").each(function(){ if( jQuery(this).attr('id').match(/_iFrame/) ) { alert(jQuery(this).attr('id')); } }); });