Javascript 使textarea文本加粗的按钮
我有一个按钮,上面有一个Javascript 使textarea文本加粗的按钮,javascript,jquery,Javascript,Jquery,我有一个按钮,上面有一个onclick=“bold()”,它应该将字体大小从普通更改为粗体,然后再恢复到普通。但它什么也没做。我需要更改或添加什么?如果有帮助,下面是一个JSFIDLE: var x=document.getElementById('description-box'); 函数bold(){ 如果($(x).css(“字体重量”)=“正常”){ $(x).css(“字体重量”),“粗体”); } 否则{ $(x).css(“字体重量”、“正常”); } } 您的代码中存在语法错误
onclick=“bold()”
,它应该将字体大小从普通更改为粗体,然后再恢复到普通。但它什么也没做。我需要更改或添加什么?如果有帮助,下面是一个JSFIDLE:
var x=document.getElementById('description-box');
函数bold(){
如果($(x).css(“字体重量”)=“正常”){
$(x).css(“字体重量”),“粗体”);
}
否则{
$(x).css(“字体重量”、“正常”);
}
}
您的代码中存在语法错误:
改变
$(x).css(“字体重量”),“粗体”)代码>
到
$(x).css(“字体大小”、“粗体”)代码>
全功能
function bold() {
var x = $('#description-box');
if (x.css("font-weight") !== "bold") {
x.css("font-weight", "bold");
} else {
x.css("font-weight", "normal");
}
}
工作小提琴:
你原来的小提琴有很多问题
- jQuery没有被包括在内
- 该函数是在
domReady
中定义的-这意味着单击按钮时它不可见
- CSS块有语法错误。正在使用
)
而不是}
关闭样式
- 在DOM准备就绪之前,您试图将元素分配给
x
。新的fiddle在函数内部执行此操作(此时DOM已准备就绪)
我更喜欢让它改变等级:
添加此样式
.bold{
font-weight: bold;
}
更改您的功能:
function bold(){
if( $(x).hasClass("bold")) {
$(x).removeClass("bold");
}
else {
$(x).addClass("bold");
}
}
问题似乎是您试图在DOM准备就绪之前将元素分配给x
。用上面的edit.com替换脚本块应该可以。答案中有很多注释,但不是真正重要的内容,它不在那里。“真遗憾!”亚历山大-我遗漏了任何重要的细节吗?让我知道。我很乐意将其添加到答案中。您可以缩短这个函数bold(){$(x).toggleClass('bold')}
function bold(){
if( $(x).hasClass("bold")) {
$(x).removeClass("bold");
}
else {
$(x).addClass("bold");
}
}