javascript - newClassName = element.className이 위치를 변경한다는 것은 무엇을 의미합니까?
高洛峰
高洛峰 2017-05-19 10:23:59
0
7
650

올바른 기능:

으아악

이렇게 써도 괜찮나요?

으아악
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(7)
过去多啦不再A梦

element.classList.add()가 더 편리합니다


IE10 이하와 호환되길 원한다면 할말이 없습니다

曾经蜡笔没有小新

와 동일합니다. 으아아아
洪涛

호환성 문제가 있습니다

으아아아

위와 동일하며 호환성 문제 해결

으아아아

기타 포장 방법

으아아아
阿神

답변은 절대 불가능합니다

으아아아

이것을 구현해야 하는 것은 dom 요소에 클래스를 추가하는 것입니다. else 분기에서는 문자열만 조작합니다. 끝? 추가된 클래스가 적용되려면 DOM 요소에 배치되어야 합니다else分支里面,你只操作一个字符串,最后没有设给dom元素能有什么用呢? 添加的类要生效,肯定是必须要放到dom元素上去的

另外你的正确写法也存在问题:

function addClass(element, value) {
    if (!element.className) {
        element.className = value;
    } else {
        newClassName += " ";
        newClassName += value;

    }
}

其实else

게다가 올바른 글쓰기에도 문제가 있습니다: 🎜 으아아아 🎜실제로 else 분기는 단순화될 수 있습니다🎜 으아아아
習慣沉默

할 수 없습니다. 함수의 목적은 elementvalue라는 클래스를 추가하는 것입니다. elseelement.className이 없습니다. code> >할당은 어떻습니까? newClassName은 기존 클래스를 저장하고 새 클래스 을 추가하는 데 사용되는 변수입니다. 뒤에 element.className을 삽입하여 element加上一个叫value的类,你else里面根本没有对element.className进行赋值怎么行,那个newClassName只是个变量,用来保存现有class,并加上value这个新class后,塞回element.className,所以

先有:

newClassName = element.className;//记下现有

后有:

element.className = newClassName;//塞回元素

事实上,原函数有更优的写法,else

첫 번째: 🎜 으아아아 🎜 다음에 🎜가 옵니다. 으아아아 🎜사실 원래 함수에는 더 나은 작성 방법이 있습니다. else에 변수를 가질 필요는 없습니다. 그냥 직접 철자하면 됩니다. 🎜 으아아아
我想大声告诉你

아니요. else 문 다음에 NewClass를 먼저 할당해야 element.className에 작업을 다시 할당할 수 있습니다.

Peter_Zhu

제가 잘못 봤네요...

안돼

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿