你可以使用getElementByClassName获取你用jquery添加的类吗?我添加了一个带有jquery的类,但我似乎无法使用getElementByClassName检索它。当我控制日志classList.value时,我得到的是标题。然而,当我控制日志classList时,我可以看到:
只是好奇是否可以定位它。我试图获取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>
)
}
}
答案 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)