Javascript 用于id以外的其他属性的jQuery选择器不';我不能以同样的方式工作

Javascript 用于id以外的其他属性的jQuery选择器不';我不能以同样的方式工作,javascript,jquery,Javascript,Jquery,在HTML页面中,如果我在控制台中键入$(“#title”)[0],我会得到: <div id="title" class="ms-font-xxl ms-fontColor-neutralSecondary ms-fontWeight-semilight">Change Case</div> 更改案例 嗯。如果我键入$(“#title”)[0].id,我会得到“title” 问题是,当我键入$(“#title”)[0]。class,我会得到未定义的 我是否应该获得m

在HTML页面中,如果我在控制台中键入
$(“#title”)[0]
,我会得到:

<div id="title" class="ms-font-xxl ms-fontColor-neutralSecondary ms-fontWeight-semilight">Change Case</div>
更改案例
嗯。如果我键入
$(“#title”)[0].id
,我会得到
“title”

问题是,当我键入
$(“#title”)[0]。class
,我会得到
未定义的

我是否应该获得
ms font xxl ms fontColor neutralSecondary ms fontWeight半轻版
?我做错了什么?

两种方法:

在jQuery1.6之前,请使用
.attr()
在jQuery 1.6+之后,使用
.prop()

  • jQuery方法
    .prop()
    $('#title').prop('class')

  • JS方法
    .className
    $('#title')[0]。className

  • 因为您使用的是jQuery,所以只需使用第一个选项=D
    .prop
    参考:

    Element.className
    参考:

    console.log($('title').prop('class');
    log($('#title')[0].className);
    //获取类名的数组
    console.log($('#title')[0].className.split(/\s+/)
    
    
    更改案例
    获取案例的两种方法:

    在jQuery1.6之前,请使用
    .attr()
    在jQuery 1.6+之后,使用
    .prop()

  • jQuery方法
    .prop()
    $('#title').prop('class')

  • JS方法
    .className
    $('#title')[0]。className

  • 因为您使用的是jQuery,所以只需使用第一个选项=D
    .prop
    参考:

    Element.className
    参考:

    console.log($('title').prop('class');
    log($('#title')[0].className);
    //获取类名的数组
    console.log($('#title')[0].className.split(/\s+/)
    
    
    更改案例
    尝试

    并非所有属性都可以立即抓取

    尝试


    不是所有的属性都可以立即抓取

    谢谢,但有些东西我不明白。为什么
    $('title').prop('class')
    有效,而
    $('title')[0]。prop('class')
    无效
    $(“#title”)
    返回一个数组,因此我们应该在尝试通过
    prop(“class”)
    访问其属性之前访问数组的一个元素,不是吗?@FelipeCostaGualberto id对于每个页面都是唯一的,因此
    $(“#title”)
    将只返回一个结果。@FelipeCostaGualberto如果您打印出
    $(“#title”)[0]
    它是原始HTML,使用原生JS方法
    。className
    你也会得到类名,但我现在明白了,我同意。也许这不是一个好的做法,因为它会将JS与jQuery混合使用。@FelipeCostaGualberto来看看这个
    console.log($('#title'))jQuery添加了太多的方法,
    [0]
    是原始的HTMLTanks,但有些东西我没有得到。为什么
    $('title').prop('class')
    有效,而
    $('title')[0]。prop('class')
    无效
    $(“#title”)
    返回一个数组,因此我们应该在尝试通过
    prop(“class”)
    访问其属性之前访问数组的一个元素,不是吗?@FelipeCostaGualberto id对于每个页面都是唯一的,因此
    $(“#title”)
    将只返回一个结果。@FelipeCostaGualberto如果您打印出
    $(“#title”)[0]
    它是原始HTML,使用原生JS方法
    。className
    你也会得到类名,但我现在明白了,我同意。也许这不是一个好的做法,因为它会将JS与jQuery混合使用。@FelipeCostaGualberto来看看这个
    console.log($('#title'))jQuery添加了很多方法,而
    [0]
    就是原始HTML
    $('#title').attr('class')