如何在<p hidden>My Text<\p>
中添加和删除“隐藏”?我尝试删除该属性并将其设置为false但它们都没有工作。
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
}
答案 0 :(得分:1)
这里看起来很好。如果您愿意,请尝试使用此代码。
的index.html
<html>
<head>
</head>
<body>
<p hidden>My Text</p>
</body>
</html>
脚本
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");
您可以在codePen中看到 https://codepen.io/anon/pen/qozVaq
答案 1 :(得分:1)
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>
答案 2 :(得分:0)
您可以在p标签上设置ID并以这种方式与其进行交互吗?
<p id="whatever" hidden>My Text</p>
和
let p = document.getElementById('whatever');
p.removeAttribute("hidden");
答案 3 :(得分:0)
删除比较文本对我来说很好:
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");
以下是工作版本:github