Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使textarea文本加粗的按钮_Javascript_Jquery - Fatal编程技术网

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");
  }
}