除了id之外的其他属性的jQuery选择器不会以相同的方式工作

时间:2017-06-15 00:53:13

标签: 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时,我得到undefined

我不应该ms-font-xxl ms-fontColor-neutralSecondary ms-fontWeight-semilight吗?我做错了什么?

2 个答案:

答案 0 :(得分:5)

获得它的两种方式:

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

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

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

  3. 由于您使用的是jQuery,只需转到第一个选项= D

      

    .prop

         

    参考:http://api.jquery.com/prop/

         

    Element.className

         

    参考:https://developer.mozilla.org/en-US/docs/Web/API/Element/className

    console.log($('#title').prop('class'));
    console.log($('#title')[0].className);
    
    //get array of class name
    console.log($('#title')[0].className.split(/\s+/));
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div id="title" class="ms-font-xxl ms-fontColor-neutralSecondary ms-fontWeight-semilight">Change Case</div>

答案 1 :(得分:1)

尝试

$('#title').attr('class')

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