Javascript style.display=";无”;在else{}中工作,但在if{}中不工作
JS:Javascript style.display=";无”;在else{}中工作,但在if{}中不工作,javascript,html,Javascript,Html,JS: 功能切换显示(语言选项){ var elements=document.getElementsByClassName(lang\u选项); var langs=document.getElementsByClassName(“lang”); for(var i=0,l=elements.length;iif)(langs中的元素[i]{测试所讨论的元素是否是langsHTMLCollection的属性,当然这总是false。如果要检查该元素是否包含在HTMLCollection中,可以将
功能切换显示(语言选项){
var elements=document.getElementsByClassName(lang\u选项);
var langs=document.getElementsByClassName(“lang”);
for(var i=0,l=elements.length;iif)(langs中的元素[i]{
测试所讨论的元素是否是langs
HTMLCollection的属性,当然这总是false。如果要检查该元素是否包含在HTMLCollection中,可以将HTMLCollection转换为数组并使用。includes
:
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off" onclick="ToggleShow('lang-compiled')">
Compiled
</button>
<div class="lang lang-interpreted">Python 3</div>
<div class="lang lang-compiled">C</div>
if(langs中的元素[i]){
测试所讨论的元素是否是langs
HTMLCollection的属性,这当然总是错误的。如果您想检查该元素是否包含在HTMLCollection中,您可以将HTMLCollection转换为数组并使用.includes
:
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off" onclick="ToggleShow('lang-compiled')">
Compiled
</button>
<div class="lang lang-interpreted">Python 3</div>
<div class="lang lang-compiled">C</div>
我们在
中使用检查对象中的属性,而不是值。只需更改if
块的表达式即可使代码正常工作
功能切换显示(语言选项){
var elements=document.getElementsByClassName(lang\u选项);
var langs=document.getElementsByClassName(“lang”);
对于(var i=0,l=elements.length;i
我们在
中使用检查对象中的属性,而不是值。只需更改if
块的表达式即可使代码正常工作
功能切换显示(语言选项){
var elements=document.getElementsByClassName(lang\u选项);
var langs=document.getElementsByClassName(“lang”);
对于(var i=0,l=elements.length;i)您想实现什么?您想让“C”打开/关闭吗?它应该切换“Python”(因为它不是编译语言)。目前它隐藏了“C”,这就是为什么我需要将display=“block”
更改为display=“none”
您想实现什么?您想让“C”吗要切换开/关?它应该切换“Python”(因为它不是一种编译语言)。目前它隐藏了“C”,这就是为什么我需要将display=“block”
更改为display=“none”
谢谢!我添加了一个部分来有效地隐藏所有不包含langu选项的元素(包括在我的后期更新中)。我认为使用“in”在上下文中,我所做的更多的是Python的事情,我假设它是双向的。谢谢!我添加了一个部分来有效地隐藏所有不包含lang_选项的元素(包括在我的后期更新中)。我认为在上下文中使用“in”更像是Python的事情,我假设它是双向的。
function ToggleShow(lang_option) {
var elements = document.getElementsByClassName(lang_option);
var langs = [...document.getElementsByClassName("lang")];
for (var i = 0, l = elements.length; i < l; i++) {
if (langs.includes(elements[i])) {
elements[i].style.display = "block";
} else {
elements[i].style.display = "none";
}
}
}
function ToggleShow(lang_option) {
var langs = [...document.getElementsByClassName("lang")];
document.querySelectorAll('.' + lang_option).forEach(element => {
element.style.display = langs.includes(element)
? 'block'
: 'none';
});
}
function ToggleShow(lang_option) {
var elements = document.getElementsByClassName(lang_option);
var langs = document.getElementsByClassName("lang");
for(var i=0,l=elements.length;i<l;i++) {
elements[i].style.display= langs.includes(elements[i]) ? "block" : "none";
}
}