Comment ajoutez-vous et supprimez-vous «caché» de <p hidden>My Text<\p>
? J'ai essayé de supprimer l'attribut et de le définir sur false, mais aucun d'eux n'a fonctionné.
let p = document.getElementsByTagName('p');
let myText;
for (i = 0; i < p.length; i++) {
if (p[i].innerHTML == "My Text") {
myText = p[i];
break;
}
}
myText.removeAttribute("hidden"); // no effect
myText.setAttribute("hidden", false); // no effect
4 réponses
Ça a l'air bien ici. Essayez avec ce code si vous le souhaitez.
Index.html
<html>
<head>
</head>
<body>
<p hidden>My Text</p>
</body>
</html>
Scénario
let p = document.getElementsByTagName('p');
let myText;
for (i = 0; i < p.length; i++) {
if (p[i].innerHTML == "My Text") {
// console.log(myText, p[0].innerHTML);
myText = p[i];
break;
}
}
myText.removeAttribute("hidden");
Vous pouvez voir dans codePen https://codepen.io/anon/pen/qozVaq
Pourriez-vous définir un ID sur la balise p et interagir avec lui de cette façon?
<p id="whatever" hidden>My Text</p>
Et:
let p = document.getElementById('whatever');
p.removeAttribute("hidden");
Supprimer le texte de comparaison me convient:
let p = document.getElementsByTagName('p');
let myText;
for (i = 0; i < p.length; i++) {
var txt = document.getElementsByTagName('p')[i].innerHTML;
if (p[i].innerHTML == txt) {
myText = p[i];
break;
}
}
myText.removeAttribute("hidden");
Voici la version de travail: https://jsfiddle.net/j0467m8m/15/
function show(){
x = document.getElementsByTagName('p');
if(x[0].style.visibility === "hidden"){
x[0].style.visibility = "visible"
}else{
x[0].style.visibility = "hidden"
}}
<p >this is hidden</p>
<button onClick='show()'>show</button>
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.