2010-10-27 27 views

Respuesta

14

En primer lugar, usted no debe tener más de un elemento con el mismo ID.

Sin embargo, se puede hacer esto con clases CSS:

<div> 
<textarea class="Text"></textarea> 
<textarea class="Text"></textarea> 
<textarea class="Text"></textarea> 
</div> 

<script> 
    $(".Text").focus(); 
    $(".Text").blur(); 
</script> 
2

No se puede tener más de un elemento con el mismo ID, se debe utilizar clases, a continuación, acceder a ellos como tal.

$(".classname").focus() 

Y si usted quiere centrarse en un único ID usar

$("#idname").focus() 
0

Puede no/no debería tener múltiples elementos con el mismo ID. Podrías usar un selector de clase pero definitivamente solucionaría el problema de los identificadores primero.

0

no se puede tener más de un elemento con el mismo id que no sólo es válido html pero si trageted usando jQuery que sólo afectaría a la primera. debe usar una clase

$('.class_name').blur(); 
1

Es mejor no usar la misma identificación para 2 elementos en la misma página. Otras formas que establece los nodos de área de texto pueden ser

$('textarea').blur() // note it sets all textarea elements on the page 

o

$('#content textarea, #comment-area textarea').blur() 

o si crea una clase para estos nodos de área de texto, se puede utilizar también.

+0

resolución de problema. gracias a todos –

17

La respuesta correcta sería

$("[id=yourID]").doSomething() 

para cualquier código como

<textarea id="yourID" /> 
<img id="yourID" /> 
<div id="yourID" /> 

Sí, lo sé, esto no es HTML válido, pero tenga en cuenta que la clase media-desarrolladores a menudo tienen que hacer frente con problemas "mejores" desarrolladores. Echa un vistazo a Microsoft SharePoint, por ejemplo, donde los ID múltiples son muy comunes. Y no podemos decirles a nuestros clientes que Microsoft lo hizo mal, así que no podemos ayudarlos. Les decimos Microsoft hizo mal así que tenemos que ayudarles a ;-)

+1

gracias. Esto es lo que estaba buscando. –

0

Esto es muy simple si se quiere usar `$ ("# yourid") haga clic en (function() {}).;

0

uso jQuery delegado

sintaxis

jQuery('body').delegate("#your-id","click",function(e){ // do code here }); 
Cuestiones relacionadas