Javascript 查找以变量结尾的元素
在我的搜索中,我找到了大量关于如何查找以特定字符串结尾的元素的问题/答案。我已经进行了快速搜索,但没有找到任何关于如何查找以变量结尾的元素的具体信息。我确实找到了如何在jQuery选择器中使用Javascript变量的一般方法,但我无法让它正常工作,我想知道这是否是因为我试图针对一组已经过滤到的元素工作 以下是我已筛选的元素的一些id:Javascript 查找以变量结尾的元素,javascript,jquery,Javascript,Jquery,在我的搜索中,我找到了大量关于如何查找以特定字符串结尾的元素的问题/答案。我已经进行了快速搜索,但没有找到任何关于如何查找以变量结尾的元素的具体信息。我确实找到了如何在jQuery选择器中使用Javascript变量的一般方法,但我无法让它正常工作,我想知道这是否是因为我试图针对一组已经过滤到的元素工作 以下是我已筛选的元素的一些id: ["ms-goal-select-0", "ms-goal-input-0", "ms-goal-select-1", "ms-goal-input-1", "
["ms-goal-select-0", "ms-goal-input-0", "ms-goal-select-1", "ms-goal-input-1", "ms-goal-select-2", "ms-goal-input-2"]
下面是for循环的开始部分,我想用它来查找并使用select和input元素:
for (var x=0;;x++) { //will break when element(s) not found
selectEl = filteredElements.find('[id$="select-' + x + '"]');
inputEl = filteredElements.find('[id$="input-' + x + '"]');
....
但是上面没有找到当
x==0
时从第一次迭代开始的元素。我做错了什么?尝试使用过滤器
而不是查找:
for (var x=0;;x++) { //will break when element(s) not found
selectEl = filteredElements.filter('[id$="select-' + x + '"]');
inputEl = filteredElements.filter('[id$="input-' + x + '"]');
....
“查找”只查找FilterDeletes
中元素的匹配子元素,而filter
只查找元素本身。jQuery只在子元素中搜索。我想你应该做一个实验。我将使用.filter()
版本编写此代码,该版本接受一个函数,并使用正则表达式匹配所需的元素:
var filteredElements=$(“div”);
var selectEl=filteredElements.filter(函数(){
返回此.id.match(/.-select-\d*$/);
});
var inputEl=filteredElements.filter(函数(){
返回此.id.match(/.-input-\d*$/);
});
console.log(selectEl.toArray());
console.log(inputEl.toArray())代码>
您是否尝试使用而不是查找
?“查找”只查看FilterDeletes
中元素的子元素,而不查看元素本身。@StriplingWarrior这几乎肯定是问题所在,谢谢