“Nom de l'attribut est pas autorisé sur l'élément div à ce point”
Je suis W3V validateur erreur que je ne comprends pas:
31 ligne, Colonne 61: l'Attribut
name
pas autorisés sur l'élémentdiv
à ce point.
C'est cette ligne:
<div name="message" class="jGrowl bottom-right errorGrowl"></div>
HTML complet:
<!DOCTYPE html>
<html>
<head>
<title>jGrowl</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>
<script type="text/javascript" src="data/awo-jgrowl.js"></script>
<script type="text/javascript" src="data/shortcut.js"></script>
<link rel="stylesheet" type="text/css" href="data/awo-jgrowl.css">
<script type="text/javascript">
$(document).ready(function() {
$('div[name=message]').awomsg('Input message', {sticky: true});
});
shortcut.add("m",function() {
$('div[name=message]').awomsg('Input message', {sticky: true});
});
shortcut.add("h",function() {
alert('ur doin it wrong');
});
</script>
</head>
<body>
<div name="message" class="jGrowl bottom-right errorGrowl"></div>
</body>
</html>
- Sur la base des réponses ci-dessous, le problème avec cette W3C message d'erreur est l'expression "à ce point." Ce n'est pas clair si cela signifie au point courant dans le temps, à un endroit particulier dans le document, ou à une place particulière dans l'ordre des éléments de l'attribut. C'est un mauvais message d'erreur. Il serait préférable de laisser de l' "à ce point": "le Nom de l'attribut non admis sur l'élément Div." Il aurait été plus simple et plus facile à comprendre le message d'erreur.
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur semble assez explicite. Vous ne pouvez pas avoir un
name
attribut sur undiv
tag. Si votre code pourrait ressembler à ceci:et ensuite utiliser les sélecteurs d'id:
J'ai trouvé que certaines d'entrée à partir de:
Validation de balisage d'Erreur: "nom de l'Attribut est pas autorisé sur l'élément à ce point" erreur #HTML5
Juste au cas où vous l'intention de définir un attribut personnalisé, vous devez ajouter l'attribut "
data-
".Donc dans ce cas, le nom serait:
data-name=""
.Et vous pouvez y faire référence par
'div[data-name="value"]'
.Il n'y a pas de
name
attribut pour les éléments div.Si vous voulez vous identifier de manière unique un, puis utiliser
id
.Si vous voulez marquer un membre d'un groupe, puis utiliser
class
.Le seul endroit où vous pouvez utiliser un
name
attribut (qui n'a pas été déprécié) est sur les contrôles de formulaire (input
,select
,textarea
etbutton
).C'est une réponse tardive, mais depuis cette page vient dans une recherche d':
Depuis le nom de l'attribut n'est pas autorisée sur certains éléments et a une signification particulière dans les formes qui vous ne voulez pas, mais n'importe quel attribut nom commençant par "données" est acceptable d'utiliser, pour les fins de votre propre, je recommande l'utilisation de "données" nom de l'attribut, comme ceci:
Vous pouvez alors écrire:
Et manipuler la div via jQuery.
L'utilisation des attributs de données a la vertu qu'il est peu probable de conflit avec ce que votre frontend que les concepteurs peuvent faire avec les Id et les noms de classe CSS fins.
Dans notre bureau, nous avons une compréhension de ce que les classes et les Id sont réservés pour le CSS, et JavaScript, les développeurs devraient les laisser seuls. À l'inverse, frontend concepteurs sont les bienvenus pour modifier l'ID, les classes ou le même type d'élément de la plupart des choses, à condition qu'ils ne plaisante pas avec les attributs de données.
La
name
attribut ne fait pas partie de la spécification pour éléments DIV.name
est, en règle générale, valable uniquement sur les éléments de formulaire.Voir: http://www.w3schools.com/tags/tag_div.asp