Hướng dẫn html tag in javascript string - thẻ html trong chuỗi javascript

Đây là mã của tôi:


    
Hướng dẫn html tag in javascript string - thẻ html trong chuỗi javascript
More text');" onmouseout="revertDescription();" alt="Image description">

Trình xác nhận đánh dấu W3C không thích điều này. Nó không muốn các thẻ HTML bên trong mã JavaScript của tôi. Đây là thông báo lỗi mà nó tạo ra nếu tôi thử điều này:

tính cách "

Làm thế nào tôi có thể khắc phục điều này trong khi đảm bảo rằng trang của tôi không gây rối nếu tôi chuyển chuỗi chứa thẻ HTML sang document.getElementById('myElement').innerHTML?

Hướng dẫn html tag in javascript string - thẻ html trong chuỗi javascript

Miku

175K46 Huy hiệu vàng303 Huy hiệu bạc 307 Huy hiệu đồng46 gold badges303 silver badges307 bronze badges

Hỏi ngày 28 tháng 11 năm 2009 lúc 15:24Nov 28, 2009 at 15:24

Bạn có thể bọc các chức năng của mình bên trong các thẻ


0 riêng biệt ở một nơi khác trong tài liệu và sử dụng ...


Từ http://javascript.about.com/l Library/blxhtml.htm:

Để khắc phục vấn đề này, wer có thể làm một trong hai điều. Cách đơn giản nhất, đặc biệt nếu JavaScript chứa nhiều hơn chỉ một hoặc hai dòng, là làm cho JavaScript bên ngoài trang dẫn đến việc chúng không có gì giữa các thẻ tập lệnh để dừng trang xác thực.

Nếu nó chỉ là một hoặc hai dòng thì có lẽ nó không đáng để tạo một tập lệnh bên ngoài, vì vậy bạn sẽ muốn để lại nội dung giữa các thẻ tập lệnh và nói với trình xác thực rằng điều này sẽ bị bỏ qua. Chúng tôi làm điều này bằng cách đặt mã JavaScript trong thẻ CDATA như thế này ...

Đã trả lời ngày 28 tháng 11 năm 2009 lúc 15:31Nov 28, 2009 at 15:31

Mikumikumiku

175K46 Huy hiệu vàng303 Huy hiệu bạc 307 Huy hiệu đồng46 gold badges303 silver badges307 bronze badges

Hỏi ngày 28 tháng 11 năm 2009 lúc 15:24

  1. Bạn có thể bọc các chức năng của mình bên trong các thẻ
    
    
    0 riêng biệt ở một nơi khác trong tài liệu và sử dụng ...
    Use
    
    
    4 or
    
    
    5 instead of
    
    
    6
  2. Từ http://javascript.about.com/l Library/blxhtml.htm:

Để khắc phục vấn đề này, wer có thể làm một trong hai điều. Cách đơn giản nhất, đặc biệt nếu JavaScript chứa nhiều hơn chỉ một hoặc hai dòng, là làm cho JavaScript bên ngoài trang dẫn đến việc chúng không có gì giữa các thẻ tập lệnh để dừng trang xác thực.

Nếu nó chỉ là một hoặc hai dòng thì có lẽ nó không đáng để tạo một tập lệnh bên ngoài, vì vậy bạn sẽ muốn để lại nội dung giữa các thẻ tập lệnh và nói với trình xác thực rằng điều này sẽ bị bỏ qua. Chúng tôi làm điều này bằng cách đặt mã JavaScript trong thẻ CDATA như thế này ...

Đã trả lời ngày 28 tháng 11 năm 2009 lúc 15:3126 gold badges190 silver badges155 bronze badges

MikumikuNov 28, 2009 at 15:36

Có nhiều cách để đến đó.ricky

Sử dụng


1 hoặc

2 thay vì

3 sử dụng

4 hoặc

5 thay vì

62 silver badges12 bronze badges

onmouseover="showDescription('Text', 'Text with HTML tags in them
More text');"

Nhận ID cho hình ảnh, chẳng hạn như "Image1", sau đó


7

onmouseover="showDescription('Text', 'Text with HTML tags in them<br />More text');" 

Hy vọng điều này hoạt động.

onmouseover="showDescription('Text', 'Text with HTML tags in them\x3Cbr />More text');" 

Ben JamesNov 28, 2009 at 15:37

Huy hiệu vàng 117K26bobince

Đã trả lời ngày 28 tháng 11 năm 2009 lúc 15:36102 gold badges646 silver badges825 bronze badges

Rickyricky

2912 Huy hiệu bạc12 Huy hiệu Đồng

function(){
return (' bold ');
}

Giống như với tất cả các giá trị thuộc tính, bạn phải mã hóa HTML


8,

3 và DELIMITER thuộc tính (
onmouseover="showDescription('Text', 'Text with HTML tags in them
More text');"
0 tại đây). Thực tế là JavaScript bên trong giá trị thuộc tính không có sự khác biệt; Giá trị thuộc tính HTML được giải mã trước khi JavaScript xem xét nó.

function(){
return unescape('%3Cb%3E bold %3C/b%3E'); 
}

Điều này trái ngược với một yếu tố

onmouseover="showDescription('Text', 'Text with HTML tags in them
More text');"
1, có nội dung là
onmouseover="showDescription('Text', 'Text with HTML tags in them
More text');"
2 và do đó không phải là ____ 18 trong HTML4. Trong XHTML không có phần tử CDATA; Bạn có thể thêm phần
onmouseover="showDescription('Text', 'Text with HTML tags in them
More text');"
4 để làm cho XHTML hoạt động giống nhau, nhưng thường đơn giản hơn cho cả hai phần tử tập lệnh và các thuộc tính xử lý sự kiện để tránh vấn đề bằng cách không bao giờ sử dụng ký tự

8 hoặc

3. Trong một chuỗi theo nghĩa đen, một lối thoát khác có sẵn mà bạn có thể sử dụng để vượt qua điều này:Feb 7, 2012 at 11:01

1

Đã trả lời ngày 28 tháng 11 năm 2009 lúc 15:37

var myText = 'Text with HTML tags in them
More text';

Bobincebobince


    
Hướng dẫn html tag in javascript string - thẻ html trong chuỗi javascript

519K102 Huy hiệu vàng646 Huy hiệu bạc825 Huy hiệu ĐồngNov 28, 2009 at 15:32

Thay thế


3 bằng
onmouseover="showDescription('Text', 'Text with HTML tags in them
More text');"
8 và

6 bằng
onmouseover="showDescription('Text', 'Text with HTML tags in them<br />More text');" 
0 và sử dụng unescape khi xuất ra nội dung.synhershko

Điều này sẽ không xác nhận:1 gold badge29 silver badges36 bronze badges

2

Tôi có thể sử dụng thẻ HTML trong JavaScript không?

Thẻ HTML được sử dụng để xác định tập lệnh phía máy khách (JavaScript).Phần tử chứa các câu lệnh script hoặc nó trỏ đến tệp tập lệnh bên ngoài thông qua thuộc tính SRC.Sử dụng phổ biến cho JavaScript là thao tác hình ảnh, xác thực hình thức và thay đổi động của nội dung.. The