2016-08-29 2 views
0
var divfoo=document.getElementById("foo"); 

divfoo.className=" css-class css-class2 "; 
divfoo.className=divfoo.className.replace(" css-class2 ", ""); 

위의 코드가 작동합니다. 하지만 위의 코드의 마지막 줄을 바꾸려면 replace 메서드를 사용하고 싶습니다. 위와 같은 코드를 작성하는 대신 다음과 같이 쓰면 왜 작동하지 않는지 알고 싶습니다.element.className.replace 메소드를 사용하여 요소의 클래스 이름 제거

var divfoo=document.getElementById("foo"); 

divfoo.className=" css-class css-class2 "; 
divfoo.className.replace(" css-class2 ", ""); 

이유 중 하나는, 왜 우리가 위의 코드를했던 바로 같은 방법을 적용 할 수 없습니다 "divfoo.className"동일한 "divfoo.className"에 대한 방법을 대체 적용하는 할당해야?

이 때문에 논리적이지 않기 때문에 자바 스크립트를 싫어해야합니까?

enter code here 

답변

1

Element.className 클래스 HTML 속성의 일반 문자열 표현입니다.

String.replace 메서드는 호출 된 원본 문자열을 변경하지 않고, 대체 절차의 결과 만 반환합니다.

"논리적/기능적"접근 방식을 원하면 Element.classList 인터페이스, 즉 remove 메소드를 확인하십시오.

+0

답변 해 주셔서 감사합니다. – Naresh

관련 문제