你可以使用getElementByClassName获取你用jquery添加的类吗?

时间:2016-10-19 02:42:58

标签: javascript jquery

你可以使用getElementByClassName获取你用jquery添加的类吗?我添加了一个带有jquery的类,但我似乎无法使用getElementByClassName检索它。当我控制日志classList.value时,我得到的是标题。然而,当我控制日志classList时,我可以看到: enter image description here

只是好奇是否可以定位它。我试图获取classList.list(1),但它返回为null。

这是我的代码:

import React from 'react';
import jQuery from 'jquery';
import $ from 'jquery';

export default class ProjectsHeader extends React.Component {

    constructor() {
         super()
    }

    componentDidMount() {

        let head = $(".header");
        let stick = "sticky";

        $(window).scroll(function() {
            $(window).scrollTop() > 400
                ? head.addClass(stick)
                : head.removeClass(stick)
        })

     let projHead = document.getElementById("projHead");




     console.log(projHead.classList);
     console.log(projHead.classList.value);

   }

     render() {
        return (
            <div id="projHead" className="header">
                <div className="not-sticky-div">
                   <div>"This is My Projects Page" McGill</div>
                </div>
                <div className="hidden-span">
                    <span>Something1</span>
                    <span>Something2</span>
                    <span>Something3</span>
                </div>
            </div>
        )
    }
}

2 个答案:

答案 0 :(得分:1)

您无法在控制台中看到它,因为您在添加类之前正在记录它。

当您滚动到大于400px的位置时,您正在添加该类,但是一旦安装了组件,您就会记录类列表。尝试将color.domain([greenVal, redVal]); d3.selectAll("rect").style("fill", function (d) { return color(d.m_Item3); }); 移动到滚动事件的回调中。

还要记住JavaScript事件是异步的,所以即使它们在public interface UserRepository extends JpaRepository<User, Integer> { 函数完成执行之前被触发,在调用堆栈变空之前也不会调用回调。

精彩讨论JavaScript的事件循环:https://www.youtube.com/watch?v=8aGhZQkoFbQ

关于主题的建议:如果你使用React,试着摆脱jQuery;)

答案 1 :(得分:0)

我能够通过添加这行代码来定位它。 enter image description here