Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.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,我的HTML 预期产出——第104项 当前输出-未定义 让我知道我做错了什么:( Fiddle-此指的是窗口、全局范围,而不是HtmlElement 试试这个: if( jQuery("ul.nav.menu > li").is(':last-child') ) { var classes = jQuery(this).attr('class'); alert(classes); //expected output - item-104 //getti

我的HTML

预期产出——第104项

当前输出-未定义

让我知道我做错了什么:(


Fiddle-

指的是窗口、全局范围,而不是HtmlElement

试试这个:

 if( jQuery("ul.nav.menu > li").is(':last-child') ) {
    var classes = jQuery(this).attr('class');
    alert(classes);
     //expected output - item-104
     //getting undefined
    }
var lastElem = jQuery("ul.nav.menu > li:last-child");
var classes = lastElem.attr('class');
console.log(classes);

还要注意,只要导航菜单中有
li
,这个
jQuery(“ul.nav.menu>li”)就是(“:last child”)
将始终返回true。

这个
指的是窗口、全局范围,而不是HtmlElement

jQuery(jQuery("ul.nav.menu > li:last-child")).attr('class');
试试这个:

 if( jQuery("ul.nav.menu > li").is(':last-child') ) {
    var classes = jQuery(this).attr('class');
    alert(classes);
     //expected output - item-104
     //getting undefined
    }
var lastElem = jQuery("ul.nav.menu > li:last-child");
var classes = lastElem.attr('class');
console.log(classes);
还请注意,只要导航菜单中有一个
li
,这个
jQuery(“ul.nav.menu>li”).is(“:last child”)
将始终返回true

jQuery(jQuery("ul.nav.menu > li:last-child")).attr('class');


因为this指向窗口对象或其他元素。if语句不会像
each()
中的回调那样神奇地改变其作用域。只需创建一个选择器,获取最后一个元素,然后读取其类

jQuery("ul.nav.menu li").each(function() {
if( jQuery(this).is(':last-child') ) {
        var classes = jQuery(this).attr('class');
        alert(classes);
        }
});

因为this指向窗口对象或其他元素。if语句不会像
each()
中的回调那样神奇地改变它的作用域。只需创建一个选择器来获取最后一个元素,然后读取它的类

jQuery("ul.nav.menu li").each(function() {
if( jQuery(this).is(':last-child') ) {
        var classes = jQuery(this).attr('class');
        alert(classes);
        }
});
试试这个:

 if( jQuery("ul.nav.menu > li").is(':last-child') ) {
    var classes = jQuery(this).attr('class');
    alert(classes);
     //expected output - item-104
     //getting undefined
    }
var lastElem = jQuery("ul.nav.menu > li:last-child");
var classes = lastElem.attr('class');
console.log(classes);

引用当前范围中的元素,而不是
最后一个子元素li

请尝试以下操作:

 if( jQuery("ul.nav.menu > li").is(':last-child') ) {
    var classes = jQuery(this).attr('class');
    alert(classes);
     //expected output - item-104
     //getting undefined
    }
var lastElem = jQuery("ul.nav.menu > li:last-child");
var classes = lastElem.attr('class');
console.log(classes);
if (jQuery("ul.nav.menu > li").is(':last-child')) {
    var classes = jQuery("ul.nav.menu > li:last").attr('class');
    alert(classes);
}

引用当前范围中的元素,而不是
最后一个子元素li

if (jQuery("ul.nav.menu > li").is(':last-child')) {
    var classes = jQuery("ul.nav.menu > li:last").attr('class');
    alert(classes);
}