我的代码如下
<script>
ball1 = "this is ball1";
ball2 = "this is ball2";
ball3 = "this is ball3";
bat = "this is not a ball";
var arr = $("[name^='ball']");
alert(arr.length);
</script>
我想获取所有以字符串“ ball”开头的变量。我该怎么做?上面的代码将arr.length设置为0。我的代码正确吗?
最佳答案
jQuery旨在查询DOM树。无论如何,请尝试以下操作:
var r = /^ball/,
balls = [];
for (var k in window) {
r.test(k) && balls.push(window[k]);
}
注意,
window
(最大作用域)是隐式填充的:<script>
var ball1 = '1'; // global variable
window.ball1; // '1'
</script>
但是,如果在函数内部进行操作,则不正确:
function f() {
var ball1 = '1'; // local variable
window.ball1; // undefined
}
f();
window.ball1; // undefined;
在这种情况下,无法从外部访问
ball1
。关于javascript - 使用jQuery查找名称相似的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22209059/