jQuery:数组函数在第一项之后停止
我想使用下面的函数创建一个具有列唯一值的下拉列表 该函数创建下拉列表,但仅显示该列的第一个值,而不是该列的所有唯一值 这里出了什么问题或遗漏了什么jQuery:数组函数在第一项之后停止,jquery,select,dynamic,Jquery,Select,Dynamic,我想使用下面的函数创建一个具有列唯一值的下拉列表 该函数创建下拉列表,但仅显示该列的第一个值,而不是该列的所有唯一值 这里出了什么问题或遗漏了什么 function createDropdownFromColumn() { var arr = []; $("td:first").each(function() { if ($.inArray($(this).text(), arr) == -1) arr.push($(this).text(
function createDropdownFromColumn() {
var arr = [];
$("td:first").each(function() {
if ($.inArray($(this).text(), arr) == -1)
arr.push($(this).text());
});
// create select
var select = $("<select />");
for (var i = 0; i < arr.length; i++) {
$("<option>" + arr[i] + "</option>").appendTo(select);
}
// append select
select.appendTo("body");
}
函数createDropdownFromColumn(){
var-arr=[];
$(“td:first”)。每个(函数(){
if($.inArray($(this.text(),arr)=-1)
arr.push($(this.text());
});
//创建选择
var select=$(“”);
对于(变量i=0;i
该选择器可能只匹配一个元素,即第一个TD,而您实际上是在寻找第一个子元素
选择器:
$("td:first-child").each(function() {...
该选择器可能只匹配一个元素,即第一个TD,而您实际上是在寻找
第一个子元素
选择器:
$("td:first-child").each(function() {...
您只得到一个值,因为您只要求第一个匹配的
td
元素
您的选择器是:
"td:first"
根据,它只检索第一个匹配的元素。如果您希望所有td
元素都是其各自tr
元素的第一个子元素,那么您的选择器应该是:
"td:first-child"
有关更多信息,请参阅上的文档。您只能获得一个值,因为您只需要第一个匹配的
td
元素
您的选择器是:
"td:first"
根据,它只检索第一个匹配的元素。如果您希望所有td
元素都是其各自tr
元素的第一个子元素,那么您的选择器应该是:
"td:first-child"
有关更多信息,请参阅上的文档。如果您遇到类似问题,请确保下次也在那里进行一些调试。例如,打印“arr”数组中的元素数可能会指出问题在于只抓取了一项 这会让您回到选择器的问题,然后检查: “:first”描述为:“选择第一个匹配的元素。”
在编写网站代码时,jquery网站是一个非常好的资源。如果您遇到这样的问题,请确保下次也在那里进行一些调试。例如,打印“arr”数组中的元素数可能会指出问题在于只抓取了一项 这会让您回到选择器的问题,然后检查: “:first”描述为:“选择第一个匹配的元素。”
在编写网站代码时,jquery网站是一个了不起的资源。非常感谢-这非常有用!非常感谢-这是非常有用的!