CẬP NHẬT: Dường như hành vi cụ thể của trình duyệt như TimWolla đã nhận xét - tôi nên bình thường hóa như thế nào với phiên bản không thoát, đáng tin cậy theo cách thức trình duyệt chéo?Làm thế nào để ngăn chặn jQuery .html() thoát khỏi thuộc tính href tự động?
HTML:
<div id="test"><a href="#{one}">#{two}</a></div>
JS:
$('#test').html()
=> <a href="#%7Bone%7D">#{two}</a>
Thông báo các #{one}
trong href đang trốn thoát, trong khi #{two}
thì không.
Có cách nào tốt hơn chỉ là unescape
toàn bộ chuỗi không?
unescape($('#test').html())
=> <a href="#{one}">#{two}</a>
Dưới đây là ví dụ: http://jsfiddle.net/kenn/n8veL/
Dường như đó là sự cố dành riêng cho trình duyệt. Trong Googles v8 Engine nó hoạt động tốt. – TimWolla
Neo đó dường như là một mẫu. Tại sao bạn phân tích cú pháp mẫu thành DOM? Mẫu phải được giữ trong mã nguồn (ví dụ: bên trong phần tử SCRIPT) và được xử lý bằng JavaScript (và chỉ * sau đó * được phân tích cú pháp bởi trình duyệt). –
TimWolla: damn! đã cập nhật câu hỏi ... – kenn