Tôi đang sử dụng Java Facelets và jQuery, tuy nhiên biểu hiện
$('...')
trong cuộc xung đột với biểu EL jQuery, làm thế nào để thoát khỏi một của jQuery?
Tôi cũng muốn thoát khỏi một đoạn lớn của Javascript.
TRẢ LỜI
Để chuyển đổi các JSP hiện có để Facelets xhtml, nó thuận tiện để chỉ quấn javascript hiện có bằng cách <![CDATA[ ... ]]>
. Tuy nhiên, kịch bản đầu ra cho <script>
được bọc bởi <!-- -->
bình luận, xung đột với phần CDATA:
<script><![CDATA[ scripts... ]]></script>
=> <script><!-- <![CDATA[ scripts... ]]> --></script>
Để giải quyết vấn đề này, bạn cũng nên chú vào CDATA:
<script>/* <![CDATA[ */ scripts... /* ]]> */</script>
=> <script><!-- /* <![CDATA[ */ scripts... /* ]]> */--></script>
Xem thêm When is a CDATA section necessary within a script tag?.
Theo cập nhật của bạn, vấn đề thực sự nói rõ ràng: bạn đang viết JS mã thô trong một file XML và phân tích cú pháp XML đang giảm so với '$ 'mà nên được biểu thị dưới dạng '&'. Ngoài giải pháp 'CDATA' xấu, giải pháp tốt nhất là đặt mã JS vào tệp' .js' của chính nó. Sau khi tất cả, tiêu đề câu hỏi và cơ thể không mô tả vấn đề thực sự và do đó gây hiểu lầm. – BalusC