Tôi đã thấy một mã HTML như thế này cho các thuộc tính ID:Dấu hai chấm nghĩa là gì trong thuộc tính id HTML?
id="t1:c3"
Ai đó có thể giải thích điều này với tôi? Mục đích của ruột kết (:
) là gì?
Cảm ơn bạn.
Tôi đã thấy một mã HTML như thế này cho các thuộc tính ID:Dấu hai chấm nghĩa là gì trong thuộc tính id HTML?
id="t1:c3"
Ai đó có thể giải thích điều này với tôi? Mục đích của ruột kết (:
) là gì?
Cảm ơn bạn.
Dấu hai chấm được cho phép bên trong thuộc tính ID, nhưng không có ý nghĩa đặc biệt. Nó không thực sự khuyến khích sử dụng chúng bởi vì chúng đôi khi có thể gây ra vấn đề, chẳng hạn như khi được sử dụng với jQuery hoặc CSS, nơi dấu hai chấm có ý nghĩa đặc biệt như một bộ chọn giả.
Ngoài những điều trên tôi đã phát hiện ra rằng Omniture sử dụng dấu hai chấm để giúp xác định các lớp liên quan đến bố cục.
Nếu HTML được tạo ra với Java ServerFaces này thường tạo ra các ID này, tức là nếu các hình thức có ID Form1 và nguyên tố này có ID firstName kết quả này trong một ID form1:firstName
nếu phần tử là cấp cao nhất , nếu có vài cái được tạo trong vòng lặp, chúng trông giống như form1:1:firstName
, form1:2:firstName
,…
Hành vi khung này không thể thay đổi.
Đối với JSF, xem tại đây: https://stackoverflow.com/a/7928290/1599699 ID chính xác phải được sử dụng, ví dụ: nếu bạn đặt 'id =" blah "' trong mã của bạn, nhưng phần tử đó nằm trong một '
Cũng lưu ý rằng khi sử dụng dấu hai chấm trong kiểu dáng CSS, bạn cần sử dụng '\:' thay vì ':' cho IE 8 - IE 11 hoặc '\ 3A' thay vì': 'cho IE 6 - IE 7 (hoặc cho bất kỳ phiên bản nào). Xem tại đây: https://stackoverflow.com/questions/122238/handling-a-colon-in-an-element-id-in-a-css-selector#comment80053896_122266 – Andrew
vì vậy bạn có nghĩa là điều này sẽ không được khuyến khích cho css? – Ryan
Đúng vậy, bởi vì trong CSS dấu hai chấm được sử dụng cho các bộ chọn giả, như '# div.button: hover' –
Tôi đồng ý với cxfx, nhưng nếu cần sử dụng dấu hai chấm thì bạn có thể thoát khỏi css '# t1 \: c3 {rules;}' – Sotiris