通常我只會用使用字母數字 - 和_在任何HTML class和id屬性,但我不知道是否有可能將其包含在屬性的中間#,例如:使用#一個CSS ID聲明中
<div id = "my_css_id_#f4ed11">
我wont't是瞄準了這個通過CSS,這純粹是爲了javasrcipt。
注意的原因,我問這不是因爲我想這樣做,而是因爲有人做了一些相關的PHP代碼,它將使這部分項目更容易。
謝謝
通常我只會用使用字母數字 - 和_在任何HTML class和id屬性,但我不知道是否有可能將其包含在屬性的中間#,例如:使用#一個CSS ID聲明中
<div id = "my_css_id_#f4ed11">
我wont't是瞄準了這個通過CSS,這純粹是爲了javasrcipt。
注意的原因,我問這不是因爲我想這樣做,而是因爲有人做了一些相關的PHP代碼,它將使這部分項目更容易。
謝謝
當然可以。它按照HTML5有效。
你只需escape the character in a selector (for use in CSS or JavaScript)。對於#
這個角色,這很簡單;你可以使用\#
。
這裏是一個工具,它會告訴你如何逃脫任何字符在CSS/JS選擇:http://mothereff.in/css-escapes#0foo%23bar在這個頁面:
<script>
// document.getElementById or similar
document.getElementById('foo#bar');
// document.querySelector or similar
$('#foo\\#bar');
</script>
附:關於ID或class
值奇怪字符的主題:http://mathiasbynens.be/notes/html5-id-class
這將是最好做試驗和錯誤,看看它是否工作。但是,就僞選擇符而言,#符號應該沒有問題。要選擇你會使用:
$("#my_css_id_#f4ed11")
這個答案不正確。你提出的選擇會試圖選擇具有兩個'ID =「my_css_id_」'和'ID =「f4ed11」'元素,這在HTML中是不可能的。 (假設'$'是jQuery的,或使用'document.querySelectorAll'時可用任何其他JavaScript庫。'的document.getElementById( '#my_css_id_ f4ed11')'會的工作,雖然)。 – 2012-02-13 19:41:20
我不會這樣做。因爲#在編程/編碼方面已經超載,所以通過CSS或甚至Javascript訪問帶有ID#...#...的元素是很困難的。
這聽起來像你想存儲一些數據塊。您知道W3C標準允許以data-
開頭的屬性是正確的嗎?
舉例來說,你可以保持一段與元素本身相關的數據:
<p data-name="John Jones">I like alliteration.</p>
本文將詳細介紹數據有效屬性。 http://ejohn.org/blog/html-5-data-attributes/
很高興知道,但我絕不會允許#在我的ID中,太容易造成錯誤... – 2012-02-13 19:41:45