Javascript:如何在<p hidden =“”>中添加和删除隐藏的内容

时间:2018-04-14 21:32:25

标签: javascript html attributes hidden

如何在<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

}

4 个答案:

答案 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