我正在尝试在选中单选按钮时以不同的样式制作标签。问题是我正在使用一个名为ezMark的javaScript插件来生成
这是代码。
<div class="ez-radio">
<input type="radio" id="line0" name="line-style" value="1" class="ez-hide">
</div>
<label style="background:url('1.jpg')no-repeat;" ></label>
这是我试图用来设置代码样式的CSS
.ez-radio input:checked+label {...}
老实说,我不需要这个页面上的javaScript,但我正在使用模板,它是动态加载的。是否有选项可以在radiobuttons之前关闭ezMark js?或者,尽管使用了ezMark脚本,也可以设置标签样式。
编辑
<div ez-radio
由脚本动态生成。我没有控制权,所以我可以在这个div之间添加标签。
答案 0 :(得分:4)
这应该有效
<div class="ez-radio">
<input type="radio" id="line0" name="line-style" value="1" class="ez-hide">
<label>Label</label>
</div>
CSS
.ez-radio input:checked+label {
font-size:2em;
}
答案 1 :(得分:1)
你的元素需要是兄弟姐妹才能使用+
选择器。 CSS无法“升级”DOM树,因此它永远不会找到标签。
HTML
<div class="ez-radio">
<input type="radio" id="line0" name="line-style" value="1" class="ez-hide">
<label style="background:url('1.jpg')no-repeat;" >Label</label>
</div>
CSS:
.ez-radio input[type=radio]:checked + label
{
color: #0f0;
}
http://jsfiddle.net/Kyle_/eCgyH/
在您编辑无法更改标记之后,您将不得不求助于jQuery(javascript库。)
$('.ez-radio input[type=radio]') .change( function() {
$('label').css('color', '#0f0');
});
答案 2 :(得分:0)
怎么样
// to apply only to checkbox use:
$('input[type="checkbox"]').not(".ez-hide").ezMark({
checkboxCls: 'your-default-checkbox-class-name' ,
checkedCls: 'your-checkbox-class-in-checked-state'
});