我想将一个类mceBasicEditor
添加到带有id="abcd"
的textarea中,以便当textarea标记中存在该类时,将加载tinymce工具栏。但是当我点击复选框时我会收到警告,但是在检查文本区域时,我看到没有添加类mceBasicEditor
,也没有出现健康工具栏。
这是复选框的代码:
<form><input type="checkbox" id="mceCheck" name="mceCheck" value="1" >mce Toggle</form>
以下是文字区域:
<p id="description" style=""><label style="" class="leftLabel" >Event Description</label><textarea name="event_description" id="abcd" style="" rows="25" cols="50" class="contact mceNoEditor "></textarea></p>
Jqueru添加课程:
$('#mceCheck').click(function(){
if($(this).attr('checked')){
alert(1);
$('#abcd').addClass('mceBasicEditor');
}
else
{
alert(0);
$('#abcd').removeClass('mceBasicEditor');
}
});
答案 0 :(得分:0)
而不是:
$(this).attr('checked')
使用:
$(this).prop('checked')
来自jQuery的.prop()
文档:
在特定情况下,属性和属性之间的差异非常重要。 在jQuery 1.6 之前,
.attr()
方法在检索某些属性时有时会考虑属性值,这可能会导致行为不一致。 从jQuery 1.6 开始,.prop()
方法提供了一种显式检索属性值的方法,而.attr()
则检索属性。
答案 1 :(得分:0)
您可以尝试这样做(添加/删除class
)
$(function(){
$('#mceCheck').change(function(){
if($(this).is(':checked')){
$('#abcd').addClass('mceBasicEditor');
}
else
{
$('#abcd').removeClass('mceBasicEditor');
}
});
});
更新
此外,toggleClass
将起作用
$(function(){
$('#mceCheck').change(function(){
$('#abcd').toggleClass('mceBasicEditor');
});
});