Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery获取数字元素的文本并放入数组?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery获取数字元素的文本并放入数组?

Javascript 如何使用jquery获取数字元素的文本并放入数组?,javascript,jquery,Javascript,Jquery,我尝试获取数字元素的文本,并使用jquery将其放入数组中。但出现以下错误: 未捕获类型错误:aTags[i]。父项不是函数 如何解决这个问题 $('#flight-stops-filter ul li a').click(function() { var aTags=$('#flight-stops-filter ul li a'); stops = []; for (var i = 0; i < aTags.length; i++) {

我尝试获取数字元素的文本,并使用jquery将其放入数组中。但出现以下错误:

未捕获类型错误:aTags[i]。父项不是函数

如何解决这个问题

    $('#flight-stops-filter ul li a').click(function() {
    var aTags=$('#flight-stops-filter ul li a');
    stops = [];
    for (var i = 0; i < aTags.length; i++) {
        if (aTags[i].parent("li").hasClass('active')) {
            alert(this.text);
            stops.push(this.text.substr(0, 1));
        }
    }

});
$(“#航班停靠过滤器ul li a”)。单击(函数(){
var aTags=$(“#航班停靠过滤器ul li a”);
停止=[];
对于(变量i=0;i
aTags
是Jquery对象,其中包含纯DOM对象。因此,如果不将纯DOM对象包装到jquery中,就无法在纯DOM对象上调用jquery方法

将for循环替换为

   aTags.each(function(){
     if( $(this).parent("li").hasClass('active'))
     {
         alert(this.text);
         stops.push(this.text.substr(0, 1));
     }
   });
正如中所建议的,您需要通过jquery的
eq
方法来访问它,而不是通过括号符号来访问它

aTags.eq( 0 );//for first DOM object wrapped inside a jquery object
用于访问DOM对象

aTags.get(0) ;//same as aTags[0]; 

aTags
是包含纯DOM对象的Jquery对象。因此,如果不将纯DOM对象包装到jquery中,就无法在纯DOM对象上调用jquery方法

将for循环替换为

   aTags.each(function(){
     if( $(this).parent("li").hasClass('active'))
     {
         alert(this.text);
         stops.push(this.text.substr(0, 1));
     }
   });
正如中所建议的,您需要通过jquery的
eq
方法来访问它,而不是通过括号符号来访问它

aTags.eq( 0 );//for first DOM object wrapped inside a jquery object
用于访问DOM对象

aTags.get(0) ;//same as aTags[0]; 

使用括号表示法时

 aTags[i].parent("li") 
它返回一个DOM节点

您想使用
eq(索引)

现在在循环内部使用
this.text也可能是错误的,因为DOM中没有
text
属性

所以你可能想要的是

$('#flight-stops-filter ul li a').click(function() {
    var aTags=$('#flight-stops-filter ul li a');
    stops = [];
    for (var i = 0; i < aTags.length; i++) {
        var li = aTags.eq(i).parent("li");
        if (li.hasClass('active')) {
            console.log(li.text());
            stops.push(li.text().substr(0, 1));
        }
    }
});
$(“#航班停靠过滤器ul li a”)。单击(函数(){
var aTags=$(“#航班停靠过滤器ul li a”);
停止=[];
对于(变量i=0;i
使用括号表示法时

 aTags[i].parent("li") 
它返回一个DOM节点

您想使用
eq(索引)

现在在循环内部使用
this.text也可能是错误的,因为DOM中没有
text
属性

所以你可能想要的是

$('#flight-stops-filter ul li a').click(function() {
    var aTags=$('#flight-stops-filter ul li a');
    stops = [];
    for (var i = 0; i < aTags.length; i++) {
        var li = aTags.eq(i).parent("li");
        if (li.hasClass('active')) {
            console.log(li.text());
            stops.push(li.text().substr(0, 1));
        }
    }
});
$(“#航班停靠过滤器ul li a”)。单击(函数(){
var aTags=$(“#航班停靠过滤器ul li a”);
停止=[];
对于(变量i=0;i
将变量包装在jQuery对象中(将
aTags[i]更改为
$(aTags[i])。parent

或:


将变量包装在jQuery对象中(将
aTags[i].parent
更改为
$(aTags[i])。parent

或:


其他人已经很好地解释了错误的原因。这一备选方案是直截了当的,您不可能遇到这样的错误:

var links = $('#flight-stops-filter ul li a');
links.click(function() {
    stops = links.parent('.active').find('a').map(function() {
        return $(this).text().substr(0,1);
    }).get();
});

其他人已经很好地解释了错误的原因。这一备选方案是直截了当的,您不可能遇到这样的错误:

var links = $('#flight-stops-filter ul li a');
links.click(function() {
    stops = links.parent('.active').find('a').map(function() {
        return $(this).text().substr(0,1);
    }).get();
});

aTags[i]
是DOM元素用jquery包装器包装它。而不是
aTags[i]。父(..
使用
$(aTags[i])。父(..
它看起来像
DOM
不是
jQ
包装的元素$(这个)
aTags[i]
是DOM元素用jquery包装器包装它。而不是
aTags[i]。父(..
使用
$(aTags[i])。父(..
它看起来像
DOM
不是
jQ
包装的元素;
然后在循环中,
$(此)
如果你引用元素以正确的方式开始,那么包装它就没有意义如果你引用元素以正确的方式开始,那么包装它就没有意义如果他有多个选择会发生什么?@madalinivascu没有理解你…你能详细说明
多个选择吗
?如果他有多个选择会发生什么?@madalinivascu没有让您……您能详细说明
多个选项吗?