javascript - 使用 jquery 查找类似名称的变量

标签 javascript jquery wildcard

我的代码如下

<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/

相关文章:

javascript - 将 Preventdefault 与将数据对象传递给函数相结合

javascript - 如何在对话框中锁定焦点?

javascript - 防止外部组件在顶部添加空白

javascript - Javascript/JQuery 代码是否需要位于其他 HTML 代码下方?

jquery - 如何在ajax加载的元素上绑定(bind)事件

java - 不同类型的方法参数

wildcard - Nmake 从 .cpp 文件中获取所有 .o 文件的列表

java - 为什么我不能在接收参数化参数的方法中使用通配符?

javascript - 使用数组对多个文本字段进行表单验证

javascript - 使用 GWT 读取 XML 文件的最简单方法是什么?