我想检查名为“shape_7”的元素是否可见。当我执行以下 JavaScript 时,它工作正常:
var element = shape_7;
if( $(element).is(':visible') )
{
//my code
}
但是,如果我执行以下 JavaScript,它不起作用:
var counter = 7;
var element = 'shape_' + counter;
if( $(element).is(':visible') )
{
//my code
}
不幸的是,在我的情况下我需要第二种情况(数字作为变量)。如何纠正第二个代码才能正常工作?
提前非常感谢您的帮助!
最佳答案
如果 window
对象是全局定义的,您可以访问 window
对象上的 shape_*
变量,因此您可以执行类似 的操作窗口['shape_' + counter]
。
再说一次,你可以...但是你真的不应该那样编码。相反,您应该尝试使用以下值创建一个数组:
var 形状 = ['#第一', '#第二', '#第三'];
然后您可以通过索引访问值:$(shapes[0]);
记住
在window
对象上设置属性使它们成为全局的,这意味着所有代码都可以获取和设置这些属性值。因此,它被认为是不好的做法,你应该尽量避免它。 Look into IIFE's
关于javascript - 使用 JavaScript 进行可见性检查不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42126286/