我有7个不同的DIV块。
第一个DIV块应该出现在开头,隐藏另一个。
为此我在其他六个定义的块中给了display: none
块。
所以应该出现另一个块,我有一个从互联网上复制的JS代码。
function showonlyone(thechosenone) {
$('.newboxes').each(function (index) {
if ($(this).attr("id") == thechosenone) {
$(this).show();
}
else {
$(this).hide();
}
});
}
问题是,我从Firebug变成了错误:
RefernceError:未定义showonlyone
我希望,我已经宣布你没事。
答案 0 :(得分:0)
确保在dom的开头加载js,否则不会声明该函数。
function showonlyone(thechosenone) {
$('.newboxes').each(function () {
if ($(this).attr("id") == thechosenone) {
$(this).show();
} else {
$(this).hide();
}
});
}
此外,您可以增强整个功能:
function showonlyone(thechosenone) {
$('.newboxes:not([data-id='+thechosenone+'])').hide();
$('.newboxes[data-id='+thechosenone+']').show();
}
答案 1 :(得分:-2)
你拥有的代码可能有点复杂。像这样:
function showonlyone(thechosenone) {
$(".newboxes").hide();
$("#"+thechosenone).show();
}
会更简单。
对于未定义的函数,请确保函数在调用它的东西可以到达的范围内定义!