2010-06-10 2 views

Répondre

1

Les symboles [] ne sont pas des caractères d'ID valides. Si vous voulez l'essayer, utilisez une double barre oblique inverse:

$("#divtables\\[COURSE_SUBJECTS\\]") 
+0

thx, c'est le symbole spec pour jQuery/ Un autre specsymbols: #; &, + * ~ '. "^ $ []() => |/ – Exan

0

Vous avez juste besoin de les échapper, comme ceci:

$("#divtables\\[COURSE_SUBJECTS\\]\\[141\\]\\[TITLE\\]") 

There's a full FAQ/how-to on the escaping topic here, cela fonctionne pour tout type de sélection, bien que vous devriez avoir différentes valeurs d'ID possibles (celles qui ne génèrent pas de code HTML invalide principalement). Je sais que ce n'est pas toujours le cas, par ex. le contenu généré par un autre système, la solution ci-dessus fonctionne pour cela, mais ce n'est pas la meilleure solution, en remplaçant les caractères non valides serait le mieux, je vous suggère ceci:

<div id="divtables-COURSE_SUBJECTS-141-TITLE">gg</div> 

Ensuite, votre sélection n'a pas besoin des astuces, il est juste:

$("#divtables-COURSE_SUBJECTS-141-TITLE") 
2

Ce n'est pas un identifiant valide selon W3C:

règles de nommage:

doit commencer par une lettre AZ ou az

peut être suivi par: lettres (A-Za-z), chiffres (0-9), tirets ("-"), underscores ("_"), points (":") et périodes()

Les valeurs sont sensibles à la casse

Cela dit essentiellement que vous ne devriez pas avoir [] dans un id "". Je vous suggérerais fortement de suivre les normes.

+0

Est-ce que HTML5 ont encore cette restriction? Je suis incapable de le trouver, spec ne le mentionne pas comme il le fait dans HTML4: http://www.w3.org/TR/html5/dom.html#the-id-attribute –

2

Selon w3c standards, vous ne pouvez pas utiliser [] pour une propriété ID en HTML. Cela signifie que vous ne pouvez utiliser que les caractères suivants pour la propriété ID.

Letters ([A-Za-z]) 
digits ([0-9]) 
hyphens ("-") 
underscores ("_") 
colons (":") 
periods ("."). 
+0

Il convient de noter c'est pour HTML4, je ne pense pas que le HTML5 a une telle restriction: http://www.w3.org/TR/html5/dom.html#the-id-attribute –

+0

@Nick Craver Oui, vous avez raison. restrictions dans html5 sauf qu'il ne peut pas être nul. – Joe

Questions connexes