提问人:isostu 提问时间:1/18/2023 更新时间:1/18/2023 访问量:48
jQuery运行时显示隐藏的DIV(并隐藏另一个DIV)[duplicate]
Show a hidden DIV when jQuery runs (and hides another DIV) [duplicate]
问:
我创建了一个脚本,如果 DIV 类包含文本“未找到事件”或“错误”,则该脚本会隐藏该脚本。这部分工作得很好,但是当这种情况发生时,我希望将隐藏的 DIV ID 加载到它的位置。(#brxe-AKQMJS)
<script>
const divs = document.getElementsByClassName('etn-not-found-post');
for (let x = 0; x < divs.length; x++) {
const div = divs[x];
const content = div.textContent.trim();
if (content == 'No Event Found' || content == 'Error') {
div.style.display = 'none';
}
}
</script>
如何正确加载?我要显示的 DIV 设置为 display:none。
提前非常感谢。
我尝试添加 if 语句,但这只会导致原始代码中断。
答:
0赞
Lokesh Yadav
1/18/2023
#1
这取决于带有 ID 的隐藏 DIV 是如何实现的。
让我尝试介绍两种方法:
- DIV 是用 css 隐藏的,使用
display: none;
- DIV 使用属性隐藏
hidden
对于这两种情况,首先按 ID 获取元素引用。 例如
var divWithID = document.getElementById("divWithID");
现在对于案例 1,更新 style 属性。
dovWithId.style.display = "block";
对于情况 2,将隐藏属性值设置为false
divWithID.setAttribute("hidden", false);
希望这能帮助您并澄清您的问题。
评论
2赞
Mohammad Nasir
1/18/2023
调用 document.getElementById() 方法时不能添加 #。它只接受 ID 名称。
0赞
isostu
1/18/2023
感谢您的详细回复。我尝试跟随,但无法让第二个 DIV 在我上面的代码触发时显示。澄清一下,我可以隐藏“.etn-not-found-post”DIV类没问题......我只是无法让隐藏的 DIV ID 在它出现时显示。
0赞
Lokesh Yadav
1/18/2023
@isostu 您正在使用 display: none 或 hidden 属性隐藏您的第二个 DIV?另外,请尝试在放置实际代码的地方使用 [jsfiddle.net/] 或 [codesandbox.io/] 或 codepen.io/]。这将有助于我们更好地理解用例和问题陈述。
0赞
Mohammad Nasir
1/18/2023
#2
您可以简单地使用 jquery 和 method 来隐藏和显示内容。在这里,我以 jquery 格式重写函数。hide()
show()
<script>
const divs = $('.etn-not-found-post');
for (let x = 0; x < divs.length; x++) {
const div = divs[x];
const content = div.textContent.trim();
if (content == 'No Event Found' || content == 'Error') {
div.hide();
}else{
div.show();
}
}
</script>
评论
0赞
isostu
1/18/2023
感谢您的回复。不幸的是,它似乎不起作用,曾经隐藏在我上面的代码中的内容现在再次显示出来。为了清楚起见,我很高兴它被隐藏,但我只想在隐藏后显示第二个 DIV。
评论
hidden
document.getElementsByClassName('etn-not-found-post').hidden = true
div