2017-04-11 5 views
0

저는 이것을 너무 오랫동안 보았습니다. 이것은 단순한 것이지만 솔루션을 찾을 수없는 것 같아요.JQuery : 올바른 선택에도 불구하고 addClass()가 작동하지 않습니다.

dimple.js를 사용하여 div에 막대 차트를 추가했으며 드롭 다운 선택에 따라 막대 중 하나의 클래스를 변경하려고합니다.

나는 선택을 유지하는 변수를 가지고 있으며 올바르게 작동합니다. 콘솔에 값을 기록 할 수 있으며 올바른 개체를 보여줍니다. 그러나 클래스는 추가되지 않습니다.

도움을 주시면 감사하겠습니다.

var barClass = 'rect.dimple-' + selectedHospital.split(' ').join('-').toLowerCase(); 
    console.log($(barClass)); 
    $(barClass).addClass('addedClass') 

console.log()의 결과;

[rect#dimple-all--hospital-1--, prevObject: n.fn.init(1), context: document, selector: "rect.dimple-hospital-1"] 
+0

console.log ($ (barClass) .addClass ('addedClass'))를 확인하는 경우 로그에 표시됩니까? ? 그리고 왜 "rect.dimple"클래스를 추가하고 로그에 "rect # dimple"이라는 ID를 반환합니까? –

+0

.addClass ('addedClass')를 추가해도 새로운 클래스가 없으면 로그에 계속 표시됩니다. 브라우저에서 요소를 검사 할 때 ID는 # dimple-all-hospital-1-- rect이지만이 클래스를 선택하려고합니다. – user7656032

+0

그래서 요소는 id와 클래스를 가지고 있습니까? –

답변

0

이 문제는 JQuery v3.2.1 (v2.1.1 사용)으로 변경하여 해결할 수있었습니다. 내가 읽은 것부터이 버전 이전에 클래스는 SVG 내의 요소에 추가 될 수 없습니다.