样式 HTML 元素,后跟特定类
style html element followed by specific class
我尝试设置以下代码元素的样式:
<code>
<span class="MathJax_Preview"></span>
...
</code>
使用此样式:
code {font: inherit; font-size: 100%; background: inherit; border: inherit;}
但我只想设置此特定 span 类后跟的代码元素的样式。我想让所有其他代码元素保持不变。是否可以通过使用css,javascript或jquery来做到这一点?
使用 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不是必需的。
如果必须根据该类的子类的存在来设置code
样式:
.hasMathJaxPreview {
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
}
$('span.MathJax_Preview').parent('code').addClass('hasMathJaxPreview');
不过,如果可能的话,使用普通的CSS选择器为孩子设置样式会简单得多。
引用:
-
addClass()
. -
parent()
.
你可以
使用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;
}
相关文章:
- 如何设置html元素填充的动画
- 删除对HTML元素的拖动
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 为什么我在Internet Explorer上看不到html元素
- 重新排列HTML元素的顺序并更改内容
- 使用.on动态添加jquery/js不知道的html元素
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何将html元素添加到tampermonkey中
- 访问html元素值javascript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 自定义HTML元素属性未显示-Web组件
- 让HTML元素充当停止滚动的锚点
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 替换HTML元素中的字符
- 如何将html元素添加为生成的内容
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用JS加载HTML元素