如何使用JavaScript在〈p hidden>中添加/删除隐藏

x4shl7ld  于 2023-02-11  发布在  Java
关注(0)|答案(7)|浏览(119)

如何在<p hidden>My Text</p>中添加和删除'hidden'
我试着删除该属性并将其设置为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
dwthyt8l

dwthyt8l1#

这里看起来很好。如果你愿意,试试这个代码。
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中看到

2ic8powd

2ic8powd2#

可以在<p>标记上设置一个ID并以这种方式与它交互吗?

<p id="whatever" hidden>My Text</p>

以及:

let p = document.getElementById('whatever');
p.removeAttribute("hidden");
qpgpyjmq

qpgpyjmq3#

删除比较文本对我来说很有效:

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");

以下是工作版本:https://jsfiddle.net/j0467m8m/15/

iszxjhcz

iszxjhcz4#

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>
3gtaxfhh

3gtaxfhh5#

不使用addAttributeremoveAttribute,而用途:

myText.hidden = false
// or
myText.hidden = true
wnavrhmk

wnavrhmk6#

我有类似的东西,使用js设置或删除隐藏从一个div,它适用于全屏或1200px,但不适用于690px:

let sidebar = document.querySelector(".dropdown-btn");
let dropdownSidebar = document.querySelector(".three");

dropdownSidebar.addEventListener("click", function(){
   sidebar.hasAttribute("hidden") ? sidebar.removeAttribute("hidden") : sidebar.setAttribute("hidden", "");
});
mcdcgff0

mcdcgff07#

你可能已经给你的图像一个块的显示,这可能导致你现在的错误。删除显示样式,你应该很好去。

相关问题