Tôi đang sử dụng jQuery .data()
để làm việc với tùy chỉnh HTML5 thuộc tính dữ liệu trong đó giá trị của thuộc tính cần để có thể chứa cả dấu nháy đơn và dấu ngoặc kép:thoát Quotes Trong HTML5 dữ liệu thuộc tính Sử dụng Javascript
<p class="example" data-example="She said "WTF" on last night's show.">
Tôi biết sử dụng các mã ký tự như "
trong giá trị thuộc tính dữ liệu có thể thực hiện công việc trên, nhưng tôi không thể luôn kiểm soát cách các giá trị được nhập. Thêm vào đó, tôi cần để có thể sử dụng các thẻ HTML trong đánh dấu, như thế này:
<p class="example" data-example="
She said "<abbr title="What The F***">WTF</abbr>" on last night's show.
">
Nếu một số hình thức .replace()
là câu trả lời, sau đó nó cần phải được thực hiện trước khi giá trị được đọc bởi .data()
-maybe bởi áp dụng nó trên toàn bộ <body>
?
Thoát dấu gạch chéo ngược thông thường như <abbr title="te\'st">WTF</abbr>
cũng không hoạt động.
Lý tưởng này sẽ có sự linh hoạt để làm việc w/cả:
data-example="..."
và data-example='...'
Nhưng nếu bạn chỉ có thể một trong những cách sau đó tôi có thể ít nhất là cuộn với điều đó. Ý tưởng?
Cập nhật - một số bối cảnh hơn:
Tôi đang làm việc về vấn đề này cho responsejs.com. Một ứng dụng thực tế của điều này có thể là chỉ tải một thanh bên cho các trình duyệt trên một chiều rộng nhất định (và điều này được xử lý trong trình duyệt chứ không phải là PHP). Trong trường hợp của WordPress ví dụ, thanh bên có thể chứa các widget, hình ảnh, vv Các trích dẫn trong các thẻ PHP là một b/c không được phân tích, chúng được phân tích thành HTML trước khi chúng tới trình duyệt. Ví dụ:
<aside id="primary" class="sidebar"
data-oweb='
<?php dynamic_sidebar('primary'); ?>
'
>
optional default markup for mobile and no-js browsers here
</aside>
JavaScript sẽ không giúp bạn sau khi trang đã hiển thị để sửa các trích dẫn của thẻ. Phải được thực hiện trên máy chủ. – epascarello