2012-08-02 41 views
8

Tôi đang xem một trang web và tìm thấy dòng mã này:Tại sao có dấu gạch chéo trong id div này?

<div class="section slideshow" id="/featured/"> 

Tôi chưa bao giờ nhìn thấy dấu gạch chéo trong một thẻ id trước, là người nghèo mã hóa này, một vấn đề được viết ra bởi cơ sở dữ liệu, hay cái gì khác?

+1

Điều này sẽ không hợp lệ trước HTML 5, nhưng hiện tại. Các id có thể được tạo ra từ một vị trí phong cách XPATH mà sẽ đảm bảo tính độc đáo nhưng nó hoàn toàn là một đoán. – detaylor

+0

chỉ cần truy cập [W3C] (http://www.w3.org/TR/html401/types.html#h-6.2) để biết thêm chi tiết ... –

+0

@Doc Đây là thông số kỹ thuật html4.01 và không áp dụng cho html5 nơi [các hạn chế này đã bị xóa] (http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute). – Christoph

Trả lời

4

Slashes trong một thuộc tính id không phải là một nhân vật có giá trị:

Mã ID và NAME phải bắt đầu bằng một chữ cái ([A-Za-z]) và có thể là theo sau bởi bất kỳ số chữ cái, chữ số ([0-9]), dấu gạch ngang ("-"), gạch dưới ("_"), dấu hai chấm (":") và dấu chấm (".").

+0

Không đúng cho html5! ['Giá trị phải là duy nhất trong số tất cả các ID trong cây con của phần tử và phải chứa ít nhất một ký tự. Giá trị không được chứa bất kỳ ký tự khoảng trắng nào.'] (http://www.w3.org/TR/2011/WD-html5-20110525/elements.html # the-id-attribute) – Christoph

+0

Nó vẫn xác nhận chính xác mặc dù khi sử dụng ? Tôi biết nó không phải là một nhân vật hợp lệ như đã nói. Nghĩ rằng tôi sẽ chỉ đề cập đến rằng nó không xác nhận chính xác mặc dù vẫn còn. Với mục đích gì, tại sao điều này sẽ được sử dụng tôi không biết. Chúc mừng –

+0

Nhân vật hợp lệ! Các hạn chế html4.01 đã được gỡ bỏ trong 5. – Christoph

3

lẽ để sử dụng nó trực tiếp trong một url và/hoặc với javascript ...

-1

kiểm tra các chương trình dưới đây, id chỉ là để tham khảo mà thẻ đặc biệt, nó không nhất thiết Nedd được trong một định dạng đặc biệt,

<html> 
<head> 
<script type="text/javascript"> 
function displayResult() 
{ 
document.getElementById("/myHeader/").innerHTML="Have a nice day!"; 
} 
</script> 
</head> 

<body> 
<h1 id="/myHeader/">Hello World!</h1> 
<button onclick="displayResult()">Change text</button> 
</body> 

</html> 

chương trình trên sẽ cung cấp cho bạn sự hiểu biết tốt hơn

+0

Anh ta hỏi về việc sử dụng dấu gạch chéo (/) không phải về thuộc tính id – Prabhavith

1

có nhiều lý do cho một quá trình như vậy, ngay cả khi nó chỉ ra rằng đây không phải là phổ biến, nhà phát triển có thể lựa chọn để bổ nhiệm lớp và id tên này:

Có lẽ ông sử dụng phương pháp này để phân biệt cùng tên id không dấu gạch chéo,

có lẽ ông sử dụng phương pháp này cho chèn id này trong một chuỗi cho

  • chèn vào database.
  • chuyển đến url.
  • khác mã hóa biện minh ...

Có lẽ chỉ là một CMS hoặc danh pháp Khung của ...

Các giải pháp tương tự là liên hệ với tác giả trang web cho hỏi câu hỏi này ...

Nhưng, Nếu bạn muốn biết thêm chi tiết, hãy truy cập trang web W3C namming Nomenclature ...

2

có lẽ ông sử dụng phương pháp này cho chèn cơ sở dữ liệu (chèn id trong một chuỗi) hoặc chuyển đến url.

Dấu gạch chéo không phải là ký tự hợp lệ cho ID trong html 4.01 nhưng có giá trị trong html5.

Đối html 4,01

ID và TÊN thẻ phải bắt đầu bằng một chữ cái ([A-Za-z]) và có thể tiếp theo bất kỳ số của các chữ cái, chữ số ([0- 9]), dấu gạch ngang ("-"), dấu gạch dưới ("_"), dấu hai chấm (":") và dấu chấm (".").

tham khảo:What are valid values for the id attribute in HTML?

http://www.w3.org/TR/html5/global-attributes.html#the-id-attribute

+0

Bạn đang tham khảo thông số html5 nhưng trích dẫn thông số 4.01? Đọc lại trong thông số html5 - dấu gạch chéo là các ký tự hợp lệ – Christoph

+0

Câu lệnh là đúng nhưng nó không giải quyết câu hỏi “tại sao”. –

-1

HTML5 cho phép hầu như bất kỳ giá trị cho thuộc tính id - sử dụng một cách khôn ngoan

HTML 4.01 là khá hạn chế liên quan đến những gì giá trị được phép cho id các thuộc tính: Mã thông báo ID và NAME phải bắt đầu bằng một chữ cái ([A-Za-z]) và có thể được theo sau bởi bất kỳ số nào chữ cái, chữ số ([0-9]), dấu gạch nối (“-“), dấu gạch dưới (“_”), dấu hai chấm (“:”) và dấu chấm (“.”).

http://www.456bereastreet.com/archive/201011/html5_allows_almost_any_value_for_the_id_attribute_use_wisely/

-1

Thuộc tính cho phần tử được thể hiện bên trong thẻ bắt đầu của phần tử. Thuộc tính có tên và giá trị.

Không được có hai hoặc nhiều thuộc tính trên cùng một thẻ bắt đầu có tên trùng khớp không phân biệt chữ hoa chữ thường.

Danh sách sau mô tả quy tắc cú pháp cho thuộc tính trong tài liệu trong cú pháp HTML. Các quy tắc cú pháp cho các thuộc tính trong các tài liệu trong cú pháp XML. được định nghĩa trong đặc tả XML [XML].

Tên thuộc tính phải bao gồm một hoặc nhiều ký tự khác với ký tự khoảng trắng, U + 0000 NULL, "" "," '","> ","/"," = ", ký tự điều khiển và bất kỳ ký tự nào Tên thuộc tính tương thích với XML là các tên khớp với tên sản phẩm được xác định trong đặc tả XML [XML] và không chứa ký tự ":" và có ba ký tự đầu tiên không khớp với chữ hoa chữ thường Đối với chuỗi "xml" Giá trị thuộc tính có thể chứa tham chiếu văn bản và ký tự, với các hạn chế bổ sung tùy thuộc vào việc chúng là giá trị thuộc tính không được trích dẫn, giá trị thuộc tính được trích dẫn đơn hoặc giá trị thuộc tính được trích dẫn kép. tham chiếu mô tả các hạn chế khác về các giá trị được cho phép của các thuộc tính cụ thể và các thuộc tính phải có giá trị tha phù hợp với những hạn chế đó.

Để biết thêm thông tin, hãy xem http://dev.w3.org/html5/markup/syntax.html#syntax-attributes

0

Tôi đã gửi email trang web và chủ sở hữu trả lời.

Trang web là HTML4/ASPX và sử dụng biến được cắt giảm đó khi được gọi bằng Javascript để hiển thị trình chiếu.

Anh ấy dường như không quan tâm rằng nó không hợp lệ, nhưng nó hoạt động tốt trong tất cả các trình duyệt.

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