Я хочу изменить класс, применяемый на SVG, одним нажатием кнопки. Код here.Невозможно изменить имя класса элемента SVG
My SVG выглядит следующим образом:
<svg id="test" class="fill" xmlns="http://www.w3.org/2000/svg" width="100%" height="200px" >
<path id="path22276" d="m500 81c-41-6-110-35-110-46 0-6 32 6 48 19 8 5 53 12 101 14 78 4 93 1 144-22 32-14 60-26 64-26 8 0-37 34-62 47-28 15-131 22-185 14z"/>
</svg>
Я попытался как код ниже:
document.getElementById("test").className = "halffill";
document.querySelector("svg.fill").setAttribute("class","halffill");
я тестировал тот же код яваскрипта против нормального сНу тега. Он работал нормально. Есть ли какие-то ограничения на SVG? Пожалуйста, помогите мне понять это.
Если вы откроете консоль, вы увидите ошибку. Добавьте 'window.deFill = deFill;' под вашу функцию. Я думаю, что проблема связана с JSFiddle, поскольку ваш код работает в кодефене: http://codepen.io/anon/pen/wWoBaw – Pjetr
@Pjetr Я не понял, что вы имели в виду, добавив 'window.deFill = deFill;'. Я не могу понять, почему это не удалось в jsfiddle – 0aslam0
Я добавил несколько комментариев, может быть, теперь это яснее? Http: // jsfiddle.net/p19rnmev/2/ – Pjetr