由于某些原因,MathML没有得到.css()更新,我想知道是否有办法检查MathML何时加载,以便更新?
代码显示问题; MathML代码没有更新并保持红色,而它应该变为蓝色,就像文本样本一样。
HTML
<span class="col1">text</span>
<br />
<math>
<mi class="col1">a</mi>
<mi>x</mi>
<mo>+</mo>
<mi class="col1">b</mi>
</math>
CSS
.col1 {
color:red;
}
JS
$(document).ready(function() {
$('.col1').css('color', 'blue');
});
有没有办法在MathML加载后触发.css()函数,所以它也可以改变它?在我看来,.css()在此之前发生,因此MathML不受它的影响。我希望有一个像
这样的简单解决方案$(MathML).ready(function() {
$('.col1').css('color', 'blue');
});
但这似乎不起作用......
答案 0 :(得分:2)
<mi>
元素似乎没有与之关联的任何内联样式定义,例如,如果您$("mi")[0].style
,则会收到未定义的错误。
通过执行以下操作,有一个混乱的解决方法:
var nStyle = $('<style>.col1 { color: blue; }</style>');
$("html > head").append(nStyle);
这将创建一个“全局”样式标记并将其附加到头部。
示例:http://jsfiddle.net/njz7xaek/5/(需要Firefox)