function showPanel(fieldName) {
var fieldNameElement = document.getElementById("field_name");
while(fieldNameElement.childNodes.length >= 1) {
fieldNameElement.removeChild(fieldNameElement.firstChild);
}
fieldNameElement.appendChild(fieldNameElement.ownerDocument.createTextNode(fieldName));
}
Les avantages de faire de cette façon:
- Il n'utilise que les DOM, donc la technique est transférable vers d'autres langues, et ne pas compter sur la non-standard innerHTML
- nom de champ peut contenir du HTML, ce qui pourrait être une tentative d'attaque XSS. Si nous savons que c'est juste le texte, nous devrions être en train de créer un nœud de texte, au lieu d'avoir le navigateur de l'analyser pour le HTML
Si je devais utiliser une bibliothèque javascript, j'utilise jQuery, et de faire cela:
$("div#field_name").text(fieldName);
Notez que @AnthonyWJones' commentaire est correcte: "field_name" n'est pas vraiment un descriptif de l'id ou le nom de la variable.