我有两个带有svg-graphics的对象,每个对象位于Bootstrap的.tab-pane中。 在这些SVG内部,我想要对样式进行样式化,因此使用jquery添加css类。在调试时,我可以看到类仍然正确地添加到$ elem.classList,但不在svg中的元素class-attribute内。
这是添加类的代码。我唯一要改变前5行的地方,在bootstrap Panel里面工作。
$("a[data-toggle='tab']").on('shown.bs.tab', function (e) {
e.preventDefault();
e.stopPropagation();
var whichObj = e.target.href.slice(-5);
var doc = $(".raumplan",whichObj)[0];
var svg = doc.contentDocument.documentElement;
var refs = new XMLHttpRequest();
refs.open("GET", "/RaumRefs", true);
refs.onreadystatechange = function (e) {
if (refs.readyState === 4 && refs.status === 200) {
raumReferat = JSON.parse(refs.responseText);
for (var i = 0; i < raumReferat.length; i++) {
var id = raumReferat[i].raum.replace(/\./g,'\\.');
if (id != "") {
var elem = $("#" + id, svg);
elem.addClass("ref" + raumReferat[i].referat+" buero");
if (raumReferat[i].besetzt == true) {
elem.addClass("besetzt");
}
}
}
}
}
refs.onerror = function (e) {
console.error(refs.statusText);
}
refs.send(null);
}
正确地从正确的svg中选择idm,并添加正确的类。但是为什么没有面板对它没有影响呢?
其他信息: 这只发生在chrome中,即firefox正在运行,就像它们应该的那样。