2010-06-04 34 views
95

Mã ký tự (HTML) ​ là gì? Tôi tìm thấy nó trong một trong các kịch bản jQuery của tôi và tự hỏi nó là gì ..Mã ký tự HTML 8203 là gì?

Cảm ơn.

Edit:

Đây là kịch bản đó là trong (nó đã được thêm vào cuối cùng, tìm thấy nó trong Firebug)

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var $jnyh = jQuery.noConflict(); 


$jnyh(function() { 
    $jnyh("#title-nyh").click(function() { 
     $jnyh(".show-hide-nyh").slideDown("slow"); 
    }, function() {   
     if(!$jnyh(this).data('pinned')) 
     $jnyh(".show-hide-nyh").slideUp("slow"); 
    }); 
    $jnyh("#title-nyh").click(function() { 
    $jnyh(this).parent().toggleClass("title-btm-brdr"); 
     $jnyh(this).toggleClass("chev-up-result"); 
     var pin = $jnyh(this).data('pinned'); 
     $jnyh(this).data('pinned', !pin); 
     if(pin) $jnyh(".show-hide-nyh").slideUp("slow");  
    }); 
});​&#8203; 
</script> 

Trả lời

110

Đó là Unicode Character 'ZERO WIDTH SPACE' (U+200B).

ký tự này được thiết kế để kiểm soát ngắt dòng; nó không có chiều rộng, nhưng sự hiện diện của nó giữa hai ký tự không ngăn khoảng cách chữ tăng lên trong sự biện minh

Theo mẫu mã đã cho, thực thể hoàn toàn thừa trong ngữ cảnh này. Nó phải được chèn vào bởi một số tai nạn, rất có thể bởi một trình soạn thảo lỗi cố gắng làm những điều thông minh với khoảng trắng hoặc tô sáng, hoặc người dùng cuối sử dụng ngôn ngữ bàn phím trong đó nhân vật này được sử dụng nguyên bản, chẳng hạn như tiếng Ả Rập.

+1

Cảm ơn. Lạ như thế nào nó đã kết thúc trong jQuery của tôi. – Kyle

+0

@Kyle - Giữa nó là gì? –

+0

Bạn được chào đón. Bạn có thể chỉ cần đọc chức năng những gì nó đang làm với nhân vật này :) – BalusC

2

ZERO WIDTH SPACE.

Tôi đã sử dụng nó làm nội dung cho ô "ô trống". Tuy nhiên, không biết nó đang làm gì trong một thẻ <script>.

1

Tôi có các ký tự này hiển thị trong các tập lệnh mà tôi không muốn chúng. Tôi nhận thấy bởi vì nó làm hỏng định dạng hình ảnh HTML/CSS của tôi: nó tạo ra một hộp văn bản mới.

Khá chắc là trình chỉnh sửa lỗi đang thêm chúng ... Tôi nghi ngờ Komodo Edit dành cho Mac, trong trường hợp của tôi.

+0

Tôi nghi ngờ điều đó. Hiển thị trong IE trên máy tính của tôi khi tôi nhìn vào '.html()' của một div đại diện cho một hộp văn bản trong SP 2013. Tôi tin rằng đó là do hành vi của ứng dụng web hiển thị dữ liệu. Trong trường hợp của tôi, chiều dài là 1, đối với tôi, khi nó phải là 0. Đó là do nhân vật này. – vapcguy

2

Nhân vật SPACE ZERO WIDTH được chèn khi bạn sử dụng jQuery để thêm các yếu tố sử dụng chức năng thao tác DOM như .before() và .Sau()

Tôi đã chạy vào trong này khi thêm ẩn khung hộp thoại modal tại cuối tài liệu của tôi và sau đó tìm thấy rằng ZERO WIDTH SPACE vít lên bố cục ở dưới đó, thêm không gian không mong muốn.

Khắc phục nhanh là chèn nó trước chân trang, chứ không phải sau chân trang. Ẩn của nó anyway.

tôi không thể tìm thấy bất cứ điều gì trong jQuery mà thực hiện điều này:

https://github.com/jquery/jquery/blob/master/src/manipulation.js

Vì vậy, nó có thể là trình duyệt có thêm nó.

6

Tôi đã đến đây với cùng một vấn đề, sau đó tự mình tìm ra. Nhân vật kỳ lạ này xuất hiện với HTML của tôi.

Sự cố rất có thể là trình chỉnh sửa mã của bạn. Tôi sử dụng Espresso và đôi khi gặp phải những vấn đề như thế này.

Để khắc phục, chỉ cần đánh dấu mã bị ảnh hưởng, sau đó chuyển đến menu và nhấp vào "chuyển đổi thành thực thể số". Bạn sẽ thấy giá trị số của ký tự này xuất hiện; chỉ cần xóa nó và nó biến mất mãi mãi.

+0

Tôi nghĩ rằng tôi cần thêm chức năng đó vào Aptana/Eclipse. Cảm ơn! – Kyle

9

Nếu bạn muốn tìm kiếm các ký tự ẩn này trong trình chỉnh sửa và hiển thị chúng, bạn có thể sử dụng Cụm từ thông dụng để tìm kiếm các ký tự không phải ascii. Thử tìm kiếm [^\x00-\x7F]. Đã kiểm tra trong IntelliJ IDEA.

+0

Điều này đã hiệu quả. Cảm ơn bạn!! – backdesk

+1

chúng tôi không phải bình luận chỉ để nói lời cảm ơn - nhưng điều này rất có giá trị. những người khác cần phải biết đây là giải pháp mà họ đang tìm kiếm khi cố gắng làm sạch văn bản từ các hệ thống kỳ quặc. khi tôi nói quirky tôi có nghĩa là Microsoft 360 trang web miễn phí rác! Tôi rất giỏi với các biểu thức thông thường có nhiều năm kinh nghiệm, nhưng nó không thực sự quan trọng khi bạn gặp phải điều gì đó mà bạn không biết cách nhắm mục tiêu. (Tôi đã thử làm việc với 'get_html_translation_table (HTML_ENTITIES)' và 'ord()' nhưng vẫn không thể thắng) điều này cuối cùng đã cho tôi sự xử lý cần thiết để tiến lên phía trước! CẢM ƠN BẠN!!! – aequalsb

+0

Một số giải thích thêm có thể được tìm thấy tại http://stackoverflow.com/questions/9868796/how-to-display-hidden-characters-by-default-zero-width-space-ie-8203/36495949#36495949. Rất vui vì nó đã giúp bạn @aequalsb – Micros

-1

Nó được hiển thị một số nhân vật kỳ lạ (â € <) cho đến khi tôi đặt charset UTF-8 vào đầu của tập tin html

<meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

hoặc cho HTML5:

<meta charset="UTF-8"> 

Nó bây giờ là minh bạch nhưng vẫn hiển thị trong html khi tôi sử dụng thanh tra.

Xóa tất cả tập lệnh khỏi trang cũng không xóa nó.

Tôi đã thử nghiệm nó cho chrome và IE.

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