2009-06-11 50 views
17

Làm cách nào để bao gồm một dòng mới trong thuộc tính thẻ HTML?Tôi làm cách nào để sử dụng giá trị nhiều dòng cho thuộc tính thẻ HTML? (tức là làm cách nào để thoát khỏi dòng mới?)

Ví dụ:

<a href="somepage.html" onclick="javascript: foo('This is a multiline string. 
This is the part after the newline.')">some link</a> 

Sửa: Xin lỗi, gương xấu, những gì nếu thẻ đã xảy ra với không trong javascript, nói:

<sometag someattr="This is a multiline string. 
This is the part after the newline." /> 

Chỉnh sửa 2: Tắt dòng mới trong chuỗi wa không phải vấn đề của tôi, đó là hàm javascript mà tôi đang gọi. FWIW, "&#10;" có thể được sử dụng cho dòng mới trong thuộc tính HTML.

Trả lời

16

Từ những gì tôi nhớ về các tiêu chuẩn HTML, các tổ chức nhân vật làm việc trong các thuộc tính, vì vậy đây sức công việc:

<sometag someattr="This is a multiline string.&#10;This is the part after the newline." /> 

tôi m không chắc chắn nếu "dòng mới" bạn muốn phải là & # 10; (\ n) hoặc & # 13; & # 10; (\ r \ n) và tôi không chắc liệu trình duyệt có diễn giải theo cách bạn muốn hay không.

Tại sao bạn cần? Bạn đang cố gắng giải quyết vấn đề cụ thể nào bằng cách thêm một dòng mới trong thuộc tính thẻ HTML?

+1

Nó hoạt động. Tôi chuẩn bị đăng câu trả lời tương tự. – Chuck

+3

Chuẩn XML cho việc chuẩn hóa thuộc tính là: http://www.w3.org/TR/REC-xml/#AVNormalize Bạn có một bộ nhớ tốt :-) –

+0

Nó không hoạt động trong trường hợp của tôi. Tại sao? ' Bao

0

tôi không chắc chắn, nhưng bạn có thể thử \ r hoặc \ n

javascript: foo('This is a multiline string.\rThis is the part after the newline.') 

hoặc

javascript: foo('This is a multiline string.\nThis is the part after the newline.') 
+0

Điều gì xảy ra nếu không xảy ra trong javascript? – Kip

+0

là ví dụ của tôi không phải những gì bạn đang tìm kiếm? – Jason

+0

xin lỗi, tôi đã chọn một ví dụ xấu, tôi đã cập nhật câu hỏi – Kip

0

Thông thường, ngắt dòng trong HTML hiển thị mã nguồn gì bạn dự định trong kết quả.

(Phụ thuộc vào trình soạn thảo tất nhiên)

-1

Vì nó là trong Javascript, bạn sẽ sử dụng "\ n" nếu bên trong hai dấu ngoặc kép (không tích cực về đơn dấu ngoặc kép, tôi đã trong PHP rất nhiều thời gian gần đây .

Thành thực mà nói, đó là đáng nói đến là bạn nên sử dụng sự kiện và một người ủy nhiệm thay vì đặt một sự kiện javascript trực tiếp trên phần tử.

5

là một dòng mới nguyên tắc chung trong các thuộc tính được bảo quản rất Ví dụ thứ hai của bạn sẽ hoạt động tốt. Bạn có thử không? Bạn có thể đưa ra một ví dụ cụ thể mà bạn gặp vấn đề với nó không?

Như thử nghiệm hãy xem này: -

<a href="somepage3.html" onclick="javascript: alert(this.getAttribute('thing'))" thing="This is a multiline string. 
This is the part after the newline.">some link</a> 

Cảnh báo bao gồm các dòng mới trong các thuộc tính.

+0

oops, hóa ra vấn đề thực sự là chức năng javascript tôi đã gọi, không phải là dòng mới trong thẻ. – Kip

+0

Chỉ cần làm rõ, dòng mới trong giá trị thuộc tính ĐƯỢC bảo tồn, –

10

Để bao gồm giá trị nhiều dòng, chỉ cần tiếp tục nội dung của thuộc tính html trên dòng tiếp theo trong trình chỉnh sửa của bạn, ví dụ:

<input type="submit" value="hallo 
hallo"> 

sẽ đặt hallo thứ hai dưới sự đầu tiên

+0

hmm ... bạn nói đúng. các vấn đề cụ thể tôi đã gặp phải là với dòng mới bên trong javascript, nhưng tôi giả định nó mở rộng đến bất kỳ thuộc tính html nói chung nhưng tôi đoán tôi đã nhầm lẫn. : -/ – Kip

1
<a href="somepage.html" onclick="javascript: foo('This is a multiline string. \ 
This is the part after the newline.')">some link</a> 

Javascript cần dấu gạch chéo ngược ở cuối dòng mới trong chuỗi.

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