반응형
참고한 사이트
JavaScript / Object / Element.getAttribute() / 요소의 속성 값을 가져오는 메서드
나의 코드
import React, { useState } from "react";
const Say = () => {
const [message, setMessage] = useState("");
const [color, setColor] = useState({ color: "black" });
const onClickEnter = () => setMessage("Enter");
const onClickLeave = () => setMessage("Leave");
// 구글 검색 - javascript event.target css 속성
// JavaScript / Object / Element.getAttribute() / 요소의 속성 값을 ...
// https://www.codingfactory.net/10283
const handleClick = (event) => {
const getStyleAttr = event.target.getAttribute("style");
const message = document.getElementById("message");
console.log("getStyleAttr", getStyleAttr);
let sliceColor = getStyleAttr.split(";");
console.log("sliceColor", sliceColor);
console.log("컬러", color);
console.log("슬라이스컬러[0]", sliceColor[0]);
sliceColor = sliceColor[0].split(":");
console.log('":"로 자른 sliceColor', sliceColor);
console.log("message", message.getAttribute("style"));
const messageColor = message.getAttribute("style");
if (messageColor === getStyleAttr) {
setColor({ color: "black" });
} else {
setColor({ color: sliceColor[1] });
}
};
return (
<div>
<h1>Say</h1>
<h2 id="message" style={color}>
{message}
</h2>
<button onClick={onClickEnter}>클릭</button>
<button onClick={onClickLeave}>퇴장</button>
<button onClick={handleClick} style={{ color: "red" }}>
빨간색
</button>
<button onClick={handleClick} style={{ color: "green" }}>
초록색
</button>
<button onClick={handleClick} style={{ color: "blue" }}>
파란색
</button>
<button onClick={handleClick} style={{ color: "grey" }}>
회색
</button>
</div>
);
};
export default Say;
반응형
'React' 카테고리의 다른 글
useEffect console.log undefined (0) | 2020.11.14 |
---|---|
useEffect와 DOM의 관계 (0) | 2020.11.14 |
리액트 + 파이어베이스로 간단한 레딧 클론 코딩 (0) | 2020.11.06 |
리액트 함수형 컴포넌트에서 카카오 지도 api 사용 (0) | 2020.11.02 |
리액트 + 파이어베이스에서 CKEditor5 세팅 (0) | 2020.10.21 |