使用 Class 隐藏 HTML 元素,除非使用 Javascript 存在 URL 参数
Hiding HTML Element With Specific Class Unless URL Parameter is Present Using Javascript
尝试隐藏具有特定 class 的元素(class,共 "input-container"),除非存在特定 URL 参数。已经制定了以下代码,但似乎无法正常工作。 if/else 语句已使用警报进行了测试,因此我知道该部分正在运行。这是我试图在代码似乎被破坏的地方分配显示变量的地方。不幸的是,我必须使用 class 名称而不是 ID 来执行此操作。想法?
<script>
var isadmin = document.getElementsByClassName("input-container");
if (window.location.search.indexOf('admin=yes') > -1) {
isadmin[0].style.display = "block";
} else {
isadmin[0].style.display = "none";
}
</script>
你的代码看起来没问题。我想知道为什么不起作用。不管怎样,我会试试这个
<script>
var isadmin = document.getElementsByClassName("input-container");
var url = new URL(window.location);
if (url.searchParams('test') && url.searchParams('test') == 'yes') {
isadmin[0].style.display = "block";
} else {
isadmin[0].style.display = "none";
}
</script>
事实证明,这是座椅和键盘之间的问题。我是个白痴,没有意识到 Javascript 在元素加载之前正在执行。修复了以下代码的问题...
<script>
window.onload = hidePass;
function hidePass() {
var isadmin = document.getElementsByClassName('input-container')[0];
if (window.location.search.indexOf('admin=yes') > -1) {
isadmin.style.display = "block";
} else {
isadmin.style.display = "none";
}
}
</script>
尝试隐藏具有特定 class 的元素(class,共 "input-container"),除非存在特定 URL 参数。已经制定了以下代码,但似乎无法正常工作。 if/else 语句已使用警报进行了测试,因此我知道该部分正在运行。这是我试图在代码似乎被破坏的地方分配显示变量的地方。不幸的是,我必须使用 class 名称而不是 ID 来执行此操作。想法?
<script>
var isadmin = document.getElementsByClassName("input-container");
if (window.location.search.indexOf('admin=yes') > -1) {
isadmin[0].style.display = "block";
} else {
isadmin[0].style.display = "none";
}
</script>
你的代码看起来没问题。我想知道为什么不起作用。不管怎样,我会试试这个
<script>
var isadmin = document.getElementsByClassName("input-container");
var url = new URL(window.location);
if (url.searchParams('test') && url.searchParams('test') == 'yes') {
isadmin[0].style.display = "block";
} else {
isadmin[0].style.display = "none";
}
</script>
事实证明,这是座椅和键盘之间的问题。我是个白痴,没有意识到 Javascript 在元素加载之前正在执行。修复了以下代码的问题...
<script>
window.onload = hidePass;
function hidePass() {
var isadmin = document.getElementsByClassName('input-container')[0];
if (window.location.search.indexOf('admin=yes') > -1) {
isadmin.style.display = "block";
} else {
isadmin.style.display = "none";
}
}
</script>