2012-05-15 7 views
8

Me gustaría agregar HTML en un div de una ID en particular. ¿Cómo lo selecciono?jQuery Selector de una clase en particular dentro de una identificación particular

<div id="1"> 
<div class="c"></div> 
    <div class="c"></div> 
    <div class="c"></div> 
</div> 


<div id="2"> 
<div class="c"></div> 
    <div class="c"> TO APPEND INSIDE THIS DIV </div> 
    <div class="c"></div> 
</div> 

<div id="3"> 
<div class="c"></div> 
    <div class="c"></div> 
    <div class="c"></div> 
</div> 

yo estaba usando

$(data).appendTo("#"+id).find(".c"); 

pero me facilita problema ya que la Anexión no va dentro del div, pero fuera del div

Respuesta

9

se puede tratar,

$('div#3 div.c').eq(1).append('<div class="new">NEW</div>'); 

o

$('<div class="new">NEW</div>').appendTo($('div#4 .c:eq(1)')); 

Usted puede tratar de:

$(data).appendTo($('#'+ id +' .c')); 

Para mayor especificidad puede utilizar el índice de cualquier específica div.c;

$(data).appendTo($('#'+ id +' .c:eq(2)')); // append to third `div.c` 

ACTUALIZACIÓN: para appendTo() acaba de terminar el selector de destino con $() y funciona para mí.

NOTA NO USE SOLAMENTE la ID NUMÉRICA. IDENTIFICACIÓN DE IDENTIFICACIÓN PROHIBIDA. PARA MÁS READ

+0

sistema - ¿Por prohibida? – Yahoo

+1

@AdiMathur He compartido un enlace en mi respuesta, léelo. el enlace es http://stackoverflow.com/questions/7987636/why-cant-i-have-a-numeric-value-as-the-id-of-an-element –

+0

yo estaba usando $ (datos). appendTo ("#" + id) .find (". c"); pero me da problema ya que el anexar no va dentro del div pero fuera del div – Yahoo

0
$('#2 .c').html('<p>Stuff, junk, crud</p>'); 
2

Los atributos de identificación no pueden comenzar con un número. Si cambia su atributo id a algo así como item-2, a continuación, puede utilizar el siguiente:

var html = '<div></div>'; 
$('#item-2 .c:eq(1)').append(html); 
+0

ID es en realidad una variable. – Yahoo

+0

estaba usando $ (datos) .appendTo ("#" + id) .find (".c "); pero me da problema ya que el agregarlo no va dentro del div pero fuera del div – Yahoo

+0

Honestamente, eso no tiene mucho sentido.' .append() 'agregará el html al final de cualquier elemento coincidente. En su caso, debe tener 3 elementos coincidentes, porque tiene 3 elementos con la clase 'c' (dentro del elemento con el ID especificado). Dado que solo quería agregar al segundo elemento, recomendé' .c: eq (1) '. Entonces,' $ (data) .appendTo ('#' + id) .find ('. c: eq (1)') 'debería funcionar. Tal vez puedas crear un [jsfiddle] (http://jsfiddle.net/) si eso todavía no funciona para usted? – jmar777

1

Este trabajo.

$('#2 .c:eq(1)').html("<p>Hello</p>"); 

Editar:

​$('<p>Hello!</p>').appendTo($('#2 .c:eq(1)'));​ 

FIDDLE

+0

estaba usando $ (datos) .appendTo ("#" + id) .find (". c"); pero está dando problema conmigo ya que el anexar no va dentro del div pero fuera del div – Yahoo

+0

entonces, hazlo: $ (data) .appendTo ($ ('# 2 .c: eq (1)')); –

+0

mira el violín en la edición. –

Cuestiones relacionadas