2009-10-29 22 views
15
<div class="boxen checkedzahlen" id="box41_0_1"> 
41 
<input type="checkbox" value="1" name="cb41_0_1" id="cb41_0_1" checked="checked"/> 
</div> 

Algo como esto se da, ¿cómo puedo animar el texto 41, si se hace clic en $(this) (la clase boxen)?Seleccionar texto interno con jQuery

this > * no funciona. Tampoco lo hace this:children.

+0

Tiene que trabajar en esa cuestión. Por favor, publique un código fuente y describa las partes faltantes. Además de eso, en jquery.com, hay ejemplos de cosas básicas (si te entiendo bien) –

+0

thx, pero no obtuve la información de la página de inicio de "JQuery";) el problema es cómo seleccionar un texto .. en el último nivel dom. si hubiera un intervalo ... no hay problema. . –

+0

$ ('Boxen') haga clic en (function() { if ($ (this) .hasClass ("hola")) {$ (este) .removeClass ("hola"); } else { . $ ("este> *") animar ({ \t zIndex: "10", \t fontSize: "28px" }, 600) .animate ({ \t fontSize: "9px", \t textAlign: "centro ", \t zIndex: "0" }); \t \t $ (this) .addClass ("hola");} }); –

Respuesta

2

el fin de seleccionar el div, se utilizaría la siguiente:

$('#box41_0_1') 

Con el fin de animar a toda la caja, que podría hacer

$('#box41_0_1').fadeOut().fadeIn(); 

o algún otro animation effect.

Editar: Si desea seleccionar sólo el texto interno, podría intentar wrapping el texto interior con un div, pero con el código que ya ha proporcionado, que también habría seleccione la casilla creo. Ejemplo de código:

$('#box41_0_1').wrapInner("<span id='span41_0_1'></span>"); 
$('#span41_0_1').fadeOut().fadeIn(); 
+0

no es el problema seleccionar el cuadro o cómo animarlo. el problema es, solo para obtener el índice z en el "41". -> el texto dentro del div, si lo animo todo, cosas como el borde también obtienen el nuevo zIndex. –

+0

Si solo busca seleccionar el índice z, "41" tendrá el mismo índice z que su div principal. –

+0

ese es el problema .. solo quiero configurar el zindex a los números .. sin imprimir un lapso de tiempo .. –

5

$ ("# divID"). Html() obtendría el texto dentro.

+0

$ ("# divID"). Html(). Animate ({... ? –

+1

Después de 3 horas de tratar de resolver esto y numerosas sobrecargas confusas y nombres de métodos, su respuesta me salvó la cordura. – IbrarMumtaz

0

Puede envolver el contenido del div en un lapso y luego mover la entrada fuera de ese lapso. Entonces puedes animar el lapso. Algo como esto:

$('.boxen').each(function() { 
    var $thisBox = $(this); 
    $thisBox.wrapInner('<span></span>'); 
    $thisBox.find('input').appendTo($thisBox); 
}); 

$('.boxen span').animate({fontSize: '28px'}, 400); 

También puede mezclar y combinar scripting DOM recta con jQuery, así:

$('.boxen').each(function() { 
    var newSpan = document.createElement('span'); 
    newSpan.innerHTML = this.firstChild.nodeValue; 
    this.firstChild.nodeValue = ''; 
    $(this).prepend(newSpan); 
}); 

$('.boxen span').animate({fontSize: '28px'}, 400); 

De cualquier manera debería funcionar.

36

Debido al título ligeramente confuso, algunas personas (como yo) pueden estar llegando a esta pregunta buscando cómo obtener el contenido textual de un elemento DOM. Puede lograr esto por:

$("#myselector").text() // returns the content of the element as plain text 
+0

Exactamente lo mismo –

+0

No, quiero decir, me sentí exactamente igual 'Debido al título ligeramente confuso' –

Cuestiones relacionadas