2013-04-15 33 views
12

đây là vấn đề của tôi:Fill div với html sử dụng javascript/jquery

Tôi có một div:

<div id="legend"></div> 

và tôi muốn để điền vào nó, dưới những điều kiện nhất định, với các mã khác này:

<p>Showing results.... 
    Key: 
    <img src="/....">&lt;=1 
    &nbsp;<img src="/...">&lt;=2 
    &nbsp;<img src="/...">&lt;=3 
    &nbsp;<img src="/...">&lt;=4 
    &nbsp;<img src="/...">&lt;=5 

<p> 

Như bạn có thể thấy đây là một huyền thoại và vấn đề chính tôi nghĩ là tôi có dấu ngoặc kép không thể dễ dàng được bao gồm, ví dụ: Fill div with text

Cảm ơn sự giúp đỡ của bạn!

+0

"những điều kiện nhất định" mà bạn nói đến là gì? –

+0

Đây là một gợi ý. Sử dụng '.html()' thay vì '.text()' –

+0

_results_ có đến từ cơ sở dữ liệu không? Ý tôi là, có thể có một số kết quả khác nhau? –

Trả lời

19

Bởi tôi hiểu, bạn đang cố gắng làm một việc như sau:

$("#legend").text("Your HTML here"); 

Để chèn HTML, bạn nên sử dụng .html(), tuy nhiên nó sẽ hiệu quả hơn để chỉ cần sử dụng Vanilla JS như vậy:

document.getElementById('legend').innerHTML = "Your HTML here"; 

Bây giờ, bạn cũng có đề cập đến gặp vấn đề trong dấu ngoặc kép. Vâng, có hai giải pháp có thể.

1: Sử dụng đơn dấu ngoặc kép quanh chuỗi của bạn: '<img src="/..." />'
2: Thoát khỏi dấu ngoặc kép: "<img src=\"/...\" />"

Và một điều nữa: Nếu những dòng mới thực sự trong HTML để chèn, bạn không thể có một chuỗi nhiều dòng trong JavaScript. Bạn có hai lựa chọn ở đây quá:

1: Thoát khỏi newline:

"<p>\ 
    Hello, world!\ 
</p>" 

2: CONCATENATE:

"<p>\n" 
    +"Hello, world!\n" 
+"</p>" 
+0

Tôi nghĩ rằng những thông tin này sẽ giúp ích cho bạn! Cảm ơn bạn! Tôi sẽ cố gắng và cho bạn biết. – valenz

+0

Về cơ bản toàn bộ vấn đề của tôi là tôi không biết rằng tôi không thể có chuỗi nhiều dòng. Bây giờ tất cả mọi thứ hoạt động tuyệt vời! Cảm ơn rất nhiều Kolin. – valenz

+0

Vui vì tôi có thể giúp :) Nếu câu trả lời của tôi hữu ích, vui lòng xem xét đánh dấu là Chấp nhận bằng cách nhấp vào dấu kiểm dưới điểm bài đăng của tôi^_^ –

5

Lắp mã html của bạn vào biến theo điều kiện của bạn (mà chúng tôi không biết), sau đó sử dụng html() để đặt mã đó thành phần tử.

var yourHtml = "your html"; 
$("#legend").html("yourHtml"); 

Như để đối phó với các dấu ngoặc kép, bạn có thể sử dụng dấu ngoặc đơn trong biến, chẳng hạn như:

var yourHtml = '<img src="/yourimgr.png">'; 

hoặc bạn có thể thoát khỏi dấu ngoặc kép:

var yourHtml = "<img src=\"/yourimgr.png\">"; 
+0

Bạn phải là người tâm linh. Làm cách nào khác bạn sẽ biết "điều kiện nhất định" được đề cập trong các câu hỏi là gì? –

+0

Tôi xin lỗi, bạn nói đúng, không đủ rõ ràng. Nhưng đó không phải là vấn đề. Tôi chỉ cần một cách để mã hóa html mà tôi đoán. Tôi đã thử với điều này $ ("# id"). Append ('

hello

') và nó hoạt động. Vấn đề là html để nối thêm quá phức tạp. Vấn đề của tôi có rõ ràng hơn một chút không? – valenz

+0

Bây giờ bạn chỉ làm cho nó tồi tệ hơn. Điều này nghĩa đen sẽ in chuỗi "yourHTML" –

0
  1. Lưu trữ html đoạn bạn trong một số chuỗi var str= <p>write your complete code here</p>
  2. $('#legend').html(yourconditionSatisfies?str:'')
+0

Tại sao không chỉ cần đặt toàn bộ điều trong một tuyên bố 'if' thông thường? –

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