2012-05-15 34 views
8

Tôi muốn nối HTML vào một div của một ID cụ thể ở đó. Làm thế nào để tôi chọn nó?Bộ chọn jQuery của một lớp cụ thể bên trong một id cụ thể

<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> 

tôi đã sử dụng

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

nhưng đem lại cho tôi nó vấn đề như các phụ thêm sẽ không bên trong div nhưng ngoài div

Trả lời

9

bạn có thể thử,

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

hoặc

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

Bạn có thể thử:

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

Để biết thêm đặc hiệu có thể sử dụng chỉ mục của bất kỳ cụ thể div.c;

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

UPDATE: cho appendTo() chỉ quấn chọn mục tiêu với $() và nó làm việc cho tôi.

LƯU Ý KHÔNG SỬ DỤNG CHỈ SỐ ID. ID CNTT ĐƯỢC H PRO TRỢ. ĐỂ THÊM READ

+0

hệ thống - Tại sao bị cấm? – Yahoo

+1

@AdiMathur Tôi đã chia sẻ một liên kết trong câu trả lời của tôi, hãy đọc điều đó. liên kết là http://stackoverflow.com/questions/7987636/why-cant-i-have-a-numeric-value-as-the-id-of-an-element –

+0

tôi đang sử dụng $ (dữ liệu). appendTo ("#" + id) .find (". c"); nhưng nó mang lại cho tôi vấn đề như phụ không đi vào bên trong div nhưng bên ngoài div – Yahoo

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

Thuộc tính ID không thể bắt đầu bằng một số. Nếu bạn thay đổi thuộc tính id của bạn để một cái gì đó giống như item-2, sau đó bạn có thể sử dụng như sau:

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

ID thực sự là một biến. – Yahoo

+0

tôi đang sử dụng $ (dữ liệu) .appendTo ("#" + id) .find (".c "); nhưng nó cho tôi vấn đề như việc phụ thêm không đi vào bên trong div nhưng bên ngoài div – Yahoo

+0

Điều đó thực sự không có ý nghĩa gì cả.' .append() 'sẽ thêm html vào cuối Trong trường hợp của bạn, bạn cần phải có 3 phần tử phù hợp, vì bạn có 3 phần tử với lớp 'c' (trong phần tử có id được chỉ định). Cho rằng bạn chỉ muốn chắp thêm vào mục thứ hai, tôi đã đề xuất' .c: eq (1) '.Vì vậy,' $ (dữ liệu) .appendTo ('#' + id) .find ('. c: eq (1)') 'nên hoạt động. Có lẽ bạn có thể tạo [jsfiddle] (http://jsfiddle.net/) nếu điều đó vẫn không hiệu quả với bạn? – jmar777

1

Công việc này.

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

Edit:

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

FIDDLE

+0

tôi đang sử dụng $ (dữ liệu) .appendTo ("#" + id) .find (". c"); nhưng việc tặng tôi vấn đề như phụ thêm là không đi bên trong div nhưng bên ngoài div – Yahoo

+0

sau đó, làm điều đó: $ (dữ liệu) .appendTo ($ ('# 2 .c: eq (1)')); –

+0

xem Fiddle trong phần chỉnh sửa. –

Các vấn đề liên quan