2012-10-15 29 views
26

Tôi hơi bối rối về những gì cần sử dụng để kết xuất dữ liệu. Scenerio của tôi là tôi phải render đếm và tôi không chắc chắn về việc sử dụng span hay label.Nhãn vs span: html

<span id="spnCount"></span> 

hoặc

<label id="lblCount"></label> 

Trả lời

27

A label được sử dụng khi bạn có biểu mẫu hoặc yếu tố đầu vào - label được liên kết với phần tử input. Span là một vùng chứa chung cho bất kỳ nội dung nội tuyến nào. Tôi nghĩ bạn muốn có một span trong trường hợp này là

0

Thẻ định nghĩa một nhãn cho một phần tử. Nếu bạn không sử dụng cho yếu tố đầu vào, khoảng có thể được sử dụng.

-2

"Thẻ <label> xác định nhãn cho phần tử <input>". http://www.w3schools.com/tags/tag_label.asp

+8

Nếu bạn dành nhiều thời gian hơn cho StackOverflow, bạn sẽ thấy rằng việc tham chiếu đến W3Schools không phải là một ý tưởng hay vì nó là [đầy lỗi] (http://w3fools.com). Trang cụ thể mà bạn liên kết có một số lỗi và không chính xác. – Alohci

+2

Tôi đã tìm thấy W3Schools là một nguồn tài nguyên vô giá, để thiết lập sự hiểu biết ban đầu cơ bản và tra cứu cú pháp chung trong sách hướng dẫn tham khảo. Đối với một số trường hợp sử dụng bí truyền và tiên tiến của RẤT RARE, tôi đã nhận thấy lỗi (thông tin không chính xác hoặc không đầy đủ), đã gửi các vấn đề với họ và thấy những vấn đề đó bỏ qua trong YEARS. MDN là Mozilla cụ thể và thường có lỗi (nhưng đó là một Wiki nên bây giờ tôi cố sửa chúng).W3C tạo ra các tài liệu HORRIFIC từ góc nhìn học tập, đầy mơ hồ, thiếu tất cả các ngữ cảnh hoặc ví dụ sử dụng thực tế. Đó là những kỹ sư được sử dụng tốt nhất khi tạo các công cụ dựng hình. – user314159

0

Nhãn được sử dụng kết hợp với yếu tố đầu vào biểu mẫu. Trong một số trình duyệt, nhãn có thể được nhấp để kích hoạt yếu tố đầu vào.

0

label được sử dụng để gắn nhãn điều khiển biểu mẫu bằng html. Nó cũng có thuộc tính for nơi bạn có thể đặt id của điều khiển mà nhãn này liên quan đến. span được sử dụng trong trường hợp khi bạn cần hiển thị một số dữ liệu theo nghĩa đen.

27

Span

Thẻ <span> được sử dụng để nhóm inline-yếu tố trong một tài liệu.

Thẻ <span> không tự thay đổi trực quan.

Thẻ <span> cung cấp cách thêm móc vào một phần văn bản hoặc một phần của tài liệu.

Label

Thẻ <label> định nghĩa một nhãn cho một phần tử.

Phần tử <label> không hiển thị dưới dạng bất kỳ điều gì đặc biệt cho người dùng. Tuy nhiên, nó cung cấp một cải tiến khả năng sử dụng cho người dùng chuột, bởi vì nếu người dùng nhấp vào văn bản trong phần tử <label>, nó sẽ chuyển đổi điều khiển.

Thuộc tính cho thẻ <label> phải bằng thuộc tính id của phần tử liên quan để liên kết chúng với nhau.

1

Nếu dữ liệu của bạn là kết quả của phép tính, yếu tố HTML5 output có thể phù hợp nhất với mục đích của bạn.

9

Mỗi người duy nhất "trả lời", chỉ cần sao chép tài liệu mô tả trường hợp sử dụng dự định. Tuy nhiên, không ai giải thích sự khác biệt, hoặc WHY đằng sau lý do bạn NÊN sử dụng một hoặc khác.

Thực tế là, hoặc là một trong hai sẽ làm việc về mặt kỹ thuật, do đó, nó thành thật thậm chí không quan trọng. Bạn có thể sử dụng bất kỳ số thẻ tương tự nào khác, bao gồm thẻ <i> (được tạo kiểu đúng cách với một lớp). Chỉ định nó một id duy nhất, sử dụng document.getElementById(), hoặc sử dụng các nút, vv, làm những gì bạn muốn.Những người duy nhất quan tâm là những người thuần túy ngữ nghĩa.

Nhãn "có thể" và "nên" được sử dụng với phần tử nhập biểu mẫu, đúng. Nhưng nó là KHÔNG TRUE rằng nó KHÔNG ĐƯỢC hoặc PHẢI KHÔNG sử dụng theo bất kỳ cách nào khác. Điều này có nghĩa là CANCOULD được sử dụng theo các cách khác.

Trước hết, hãy chú ý cách <label> đơn giản được sử dụng làm nhãn "cho phần tử". Nó không nói những gì TYPE của phần tử. Nó không nói nó phải là một phần tử đầu vào hoặc một phần tử biểu mẫu. Thật vậy, các phần tử không dạng có thể có các điều khiển liên kết với chúng để cung cấp trải nghiệm người dùng, có thể thao tác các đối tượng bằng CSS và như vậy, và một nhãn có thể kết nối văn bản với bất kỳ thứ gì như vậy. Biểu mẫu có thể tồn tại vô hình trên trang. Ai biết.

Tại sao nên sử dụng nhãn độc lập? Nếu tài liệu của bạn có thể tồn tại trong một thời gian dài, thông qua một số phiên bản trình duyệt và cập nhật tiêu chuẩn HTML, định nghĩa của <label> có thể thay đổi để thực thi chặt chẽ hơn với các yếu tố đầu vào biểu mẫu, sau đó bạn có thể gặp sự cố. Nhưng điều này cũng đúng với bất kỳ khía cạnh nào khác của bất kỳ một số thông số kỹ thuật nào mà chúng tôi chỉ dựa vào để hiển thị một trang. Đây có thể là một tình huống rất hiếm hoi mà sự thay đổi đó sẽ xảy ra, và bạn có thể thậm chí không làm việc tại cùng một công ty hoặc trong cùng một nhóm dự án, vì vậy trong tất cả sự trung thực, ai thực sự quan tâm trừ người thuần túy?

Vâng, có thể bất kỳ ai khiếm thị nếu họ dựa vào một số công nghệ xử lý <label> khác với <span>, điều này có thể gây nhầm lẫn cho công nghệ hoặc người dùng hoặc cả hai. Tôi không có bất kỳ trải nghiệm nào với các thiết bị trợ năng như vậy, nhưng đó có thể là một lý do tốt hơn TẠI SAO.

Lý do hợp lệ khác là <span> ngắn hơn loại <label>.

Và một lý do khác có thể là sự khác biệt nhỏ trong cách công cụ tìm kiếm xếp hạng trang của bạn hoặc tham chiếu nội dung nếu sử dụng <label> so với <span>. Đây là một chút của một căng, bởi vì các thuật toán như vậy nói chung là không công khai có sẵn, nhưng nó có thể. Một động cơ có thể tạo ra kết quả tốt hơn một cách, một động cơ khác có thể thích cách khác, và động cơ khác có thể không quan tâm theo cách nào.

Tất cả những gì đã nói, mà không cần bất kỳ kiến ​​thức hơn nữa về bối cảnh, tôi có thể đi với <span> như có vẻ như các chung nhấtcãi nhất cách làm việc. Nhưng tôi cảm thấy câu hỏi thiếu câu trả lời kỹ lưỡng , vì câu trả lời thường liên quan đến việc hiểu được lý do tại sao.

+0

Điểm tuyệt vời về khiếm thị. Rất dễ quên yếu tố trợ năng! –

+1

Xin lưu ý rằng nhận xét là giả thuyết thuần túy, vì tôi không có kinh nghiệm với phần mềm trợ năng như vậy. Nếu trên thực tế đúng là nó tạo ra sự khác biệt, nó có thể thay đổi kết luận cuối cùng của tôi về việc đi với '' thành '

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