我尝试设置以下代码元素的样式:
<code>
<span class="MathJax_Preview"></span>
...
</code>
使用这种风格:
code {font: inherit; font-size: 100%; background: inherit; border: inherit;}
但我只想设置这个特定跨度类后面的那些代码元素。我想让所有其他代码元素保持不变。是否可以通过使用 css、javascript 或 jquery 来做到这一点?
我尝试设置以下代码元素的样式:
<code>
<span class="MathJax_Preview"></span>
...
</code>
使用这种风格:
code {font: inherit; font-size: 100%; background: inherit; border: inherit;}
但我只想设置这个特定跨度类后面的那些代码元素。我想让所有其他代码元素保持不变。是否可以通过使用 css、javascript 或 jquery 来做到这一点?
如果您必须code
根据该类的子项的存在来设置样式:
.hasMathJaxPreview {
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
}
$('span.MathJax_Preview').parent('code').addClass('hasMathJaxPreview');
但是,如果可能的话,使用普通的 CSS 选择器来设置孩子的样式会简单得多。
参考:
使用 CSS,不可能基于子元素访问父元素。
在 Javascript 中,您可以这样做:
<script type="text/javascript">
var spans = document.getElementsByClassName('MathJax_Preview');
for(var i = 0; i < spans.length; i++) {
if (spans[i].parentNode.tagName == "code") {
spans[i].parentNode.setAttribute("style", "your style here");
}
}
</script>
请注意,如果您只需要它,则不需要 jQuery。
您可以使用 Jquery 来完成
$('span.MathJax_Preview').parents('code').css({
'font': 'inherit',
'font-size' : '100%',
'background': 'inherit',
'border': 'inherit'
});
或者您可以使用 CSS 和 Jquery 来完成
在 css 中你可以给这个样式
.myStyle{
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
}
在 jquery 中,您可以将此类分配给您的 HTML 元素
$('span.MathJax_Preview').parents('code').addClass('myStyle');
你可以这样CSS
做
code span.MathJax_Preview {
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
}