我有一个 div 里面有段落:
<div>
<p>...</p>
<p>...</p>
</div>
我想动态地将某种样式应用于此 div 内的段落。是否可以在不处理每个段落元素的情况下做到这一点,而只是以某种方式将样式附加到 div 元素并且所有内部段落都会受到影响?
也许用jquery。
对我来说,这听起来像是样式表的动态变化,可能吗?
答案评论中的正确建议。
谢谢。
我有一个 div 里面有段落:
<div>
<p>...</p>
<p>...</p>
</div>
我想动态地将某种样式应用于此 div 内的段落。是否可以在不处理每个段落元素的情况下做到这一点,而只是以某种方式将样式附加到 div 元素并且所有内部段落都会受到影响?
也许用jquery。
对我来说,这听起来像是样式表的动态变化,可能吗?
答案评论中的正确建议。
谢谢。
不使用类:
/* using CSS */
div p {
color: #ff0000;
}
// using jQuery
$("div p").css({
color : "#ff0000"
});
使用<p>
元素类:
<!-- HTML -->
<div>
<p class="mypar">...</p>
<p class="mypar">...</p>
</div>
/* using CSS */
div p.mypar {
color: #ff0000;
}
// using jQuery
$("div p.mypar").css({
color : "#ff0000"
});
使用<div>
元素类:
<!-- HTML -->
<div class="mydiv">
<p>...</p>
<p>...</p>
</div>
/* using CSS */
div.mydiv p {
color: #ff0000;
}
// using jQuery
$("div.mydiv p").css({
color : "#ff0000"
});
使用 CSS,您可以定义子选择器。
在此基础上,您可以动态添加/删除样式类,div
并且该样式将应用于您在该选择器中指定的子项。
假设您想将此应用于特定的div
,而不是任何/每个。所以给目标div
一个标识符:
<div id='foo'>
<p>...</p>
<p>...</p>
</div>
使用简单的 javascript 添加动态样式:
document.getElementById('foo').style.className='dynamic_style'
CSS(在子选择器上使用组合 id 和 class ):
div#foo.dynamic_style > p { /* your style definition*/ }
使用 CSS:
div p {your style goes here}
jQuery:
$('div p').css('property', 'value');
您可以通过以下方式为您的示例动态应用 CSS:
function applyCSS()
{
$("div > p").css({
"background": "#fff",
"color": "#000"
});
}
或者,当您想在页面加载时应用它时:
$(document).ready(function(){
applyCSS();
});
例如,动态更改 css 就像更改顶级类名一样简单
<div id="toggleme" class="class1">
<p>...</p>
<p>...</p>
</div>
<a id="test">Test</a>
</p>
.class1 {
background-color:#F00;
}
.class1 p {
color:#00F;
}
.class2 {
background-color:#00F;
}
.class2 p {
color:#F00;
}
那么jquery将是
$(document).ready(function() {
$('#test').click(function() {
$('#toggleme').toggleClass('class1');
$('#toggleme').toggleClass('class2');
});
});
类下面的所有内容都将更改为新样式:)