2012-01-16 23 views
8

Câu hỏi: Nếu tôi đóng bất kỳ thẻ html trong thời trang này (bao gồm tài sản id):Đóng tag với tài sản ID

<div id="tagid" >...more html 
... 
</div id="tagid" > 

nó có ảnh hưởng đến trang web, hoặc sẽ không thích nó, hoặc phá vỡ bất kỳ quy tắc W3C ... làm thế nào tôi có thể đặt nó ... nó sẽ ảnh hưởng đến bất kỳ cách nào?

Tại sao?: Chỉ đơn giản là sở thích cá nhân.
Thay vì viết nhận xét bổ sung bên cạnh thẻ, tôi chỉ cần thêm id để giúp tôi biết GÌ thẻ bị đóng - Thẻ bị đóng bất kỳ cách nào, vì vậy tôi đoán nó sẽ không làm bất cứ điều gì (hoặc vì vậy tôi nghĩ)

PS. FYI, tôi là một người mới bắt đầu

+0

Oh, bằng cách này, tôi biết nó có thể là quá nhiều yêu cầu nhưng bạn có thể xin vui lòng thêm một tài liệu mà sẽ giải thích tại sao và tại sao không nó sẽ phá vỡ mã của tôi? -Để tránh đầu cơ – Omar

+0

Xem sửa của tôi chỉ là bây giờ @Omar –

Trả lời

12

Không đây là không hợp lệ.

Mặc dù nó không thể phá vỡ mã của bạn, nhưng nó có thể!

Bạn nên chỉ cần sử dụng những ý kiến ​​

</div> <!-- closing main content div -->


Sau khi kiểm tra, đây

<div></div id="tagid" >

phá vỡ trong validator

http://validator.w3.org/#validate_by_input


Mặc dù không được đề cập cụ thể như bất hợp pháp, spec HTML chỉ đề cập đến attributes như xuất hiện trong thẻ bắt đầu:

tính

Elements có thể liên quan, được gọi là thuộc tính, mà có thể có giá trị (theo mặc định hoặc được đặt bởi tác giả hoặc tập lệnh). Cặp thuộc tính/giá trị xuất hiện trước ">" cuối cùng của thẻ bắt đầu của phần tử. Bất kỳ số cặp giá trị thuộc tính (hợp pháp) nào, được phân tách bằng dấu cách, có thể xuất hiện trong thẻ bắt đầu của phần tử.

http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2

+0

FWIW, spec HTML5 không nói đó là một lỗi. Cụ thể, nó nói: "Khi một thẻ kết thúc thẻ được phát ra với các thuộc tính, đó là một lỗi phân tích cú pháp." – Alohci

2

đây như thế nào bạn đóng một div:

<div id="tagid" ></div> 

nếu bạn muốn nhận ra nơi tag kết thúc bạn chỉ có thể thêm nhận xét:

<div id="tagid" > 
    ... 
</div><!-- Tagid Ends here --> 
1

Trong thuộc tính HTML/XML chỉ có thể được đặt trong thẻ bắt đầu của một phần tử. Bạn đang tạo html không hợp lệ.

1

Trích dẫn câu trả lời khác của tôi trong stackoverflow:

Gần đây phải thực hiện bảo trì trên mã cũ, tôi thấy rằng việc sử dụng bình luận ở phần cuối của một thẻ div thực sự đã làm cho nó khó khăn để nhận xét ra phần lớn các mã nhờ vào HTML không có thẻ nhận xét có thể lồng.Vì vậy, tôi đã vào thói quen thay đổi ý kiến ​​vào nhịp ẩn ở phần cuối của divs khối lớn.

<div class="modal fade" id="dialog_edit_group"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      ...HTML content here... 
     </div><span title=".modal-content" HIDDEN></span> 
    </div><span title=".modal-dialog" HIDDEN></span> 
</div><span title=".modal #dialog_edit_group" HIDDEN></span> 
<!-- 
<div class="modal fade" id="dialog_edit_group_OLD"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      ...HTML content here... 
     </div><span title=".modal-content" HIDDEN></span> 
    </div><span title=".modal-dialog" HIDDEN></span> 
</div><span title=".modal #dialog_edit_group_OLD" HIDDEN></span> 
--> 

tôi đặt "HIDDEN" HTML5 thuộc tính trong đó vì vậy nếu những người khác sửa đổi nó và thêm văn bản đối với một số lý do, nội dung sẽ thường ở ẩn. Tôi đã làm cho nó ALL CAPS để nó sẽ nổi bật hơn một chút như muốn hét lên "COMMENT TẠI ĐÂY!". Vâng, nó tạo ra một phần tử DOM mà bây giờ phải được duy trì bởi các trình duyệt, nhưng một giá nhỏ để trả trong phát triển trang web hoạt động nặng.

Sử dụng "nhận xét div cuối" như vậy tuân theo tiêu chuẩn HTML, mang lại cho tôi khả năng đọc lớn hơn và cho phép tôi sử dụng thẻ nhận xét HTML để vô hiệu hóa các khối lớn của trang để hỗ trợ phát triển. Có lẽ nó sẽ hữu ích cho người khác nữa.

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