加载MathML时更新

时间:2016-06-20 15:17:20

标签: jquery mathml

由于某些原因,MathML没有得到.css()更新,我想知道是否有办法检查MathML何时加载,以便更新?

  

http://jsfiddle.net/njz7xaek/

代码显示问题; 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');
});

但这似乎不起作用......

1 个答案:

答案 0 :(得分:2)

<mi>元素似乎没有与之关联的任何内联样式定义,例如,如果您$("mi")[0].style,则会收到未定义的错误。

通过执行以下操作,有一个混乱的解决方法:

var nStyle = $('<style>.col1 { color: blue; }</style>');

$("html > head").append(nStyle);

这将创建一个“全局”样式标记并将其附加到头部。

示例:http://jsfiddle.net/njz7xaek/5/(需要Firefox)