藏匿;使用按钮在Javascript上显示字段集';第一次单击时不工作/单击时如何更改按钮标题

藏匿;使用按钮在Javascript上显示字段集';第一次单击时不工作/单击时如何更改按钮标题,javascript,jquery,html,Javascript,Jquery,Html,我试图用一个按钮隐藏/播种一个字段集,这个按钮就像一个符咒。然而,当我第一次点击它时,它不会不工作,但从第二次开始,它就一直工作正常 第一次单击按钮时,如何使其工作 我也想在点击时更改按钮的标题,但我不知道如何更改 提前谢谢 这是我的代码: $(文档).ready(函数(){ $(“#Ocultarenabezadofactura”)。单击(函数(){ var fieldset=document.getElementById(“fsEncabezado”); var boton=documen

我试图用一个按钮隐藏/播种一个字段集,这个按钮就像一个符咒。然而,当我第一次点击它时,它不会不工作,但从第二次开始,它就一直工作正常

第一次单击按钮时,如何使其工作

我也想在点击时更改按钮的标题,但我不知道如何更改

提前谢谢

这是我的代码:

$(文档).ready(函数(){
$(“#Ocultarenabezadofactura”)。单击(函数(){
var fieldset=document.getElementById(“fsEncabezado”);
var boton=document.getElementById(“OcultarEncabezadoFactura”);
if(boton.textContent==“Ocultar Encabezado”){
$('fsEncabezado').hide();
boton.textContent=“Mostrar Encabezado”;
//字段集隐藏时,我希望按钮具有的标题
}否则{
$('fsEncabezado').show();
boton.textContent=“Ocultar Encabezado”;
//显示字段集时,我希望按钮具有的标题
}
});
});

眼罩

A
按钮
元素没有
标题
属性,因此测试失败。您需要检查按钮的
textContent

另外,不要在
标记中使用HTML注释语法(
)。要在JavaScript中进行注释,它是:
//comment here

$(文档).ready(函数(){
$(“#Ocultarenabezadofactura”)。单击(函数(){
var fieldset=document.getElementById(“fsEncabezado”);
var boton=document.getElementById(“OcultarEncabezadoFactura”);
如果(boton.textContent==“Ocultar Encabezado”){
fieldset.classList.add('hide');
boton.textContent=“Mostrar Encabezado”;
}否则{
fieldset.classList.remove('hide');
boton.textContent=“Ocultar Encabezado”;
}
});
});
.hide{display:none;}

眼罩

您应该使用innerHTML更改按钮上的文本,而不是标题

$(文档).ready(函数(){
$(“#Ocultarenabezadofactura”)。单击(函数(){
var fieldset=document.getElementById(“fsEncabezado”);
var boton=document.getElementById(“OcultarEncabezadoFactura”);
如果(boton.innerHTML==“Ocultar Encabezado”){
fieldset.classList.add('hide');
boton.innerHTML=“Mostrar Encabezado”;
}否则{
fieldset.classList.remove('hide');
boton.innerHTML=“Ocultar Encabezado”;
}
});
});
.hide{
显示:无;
}

眼罩

它从一开始就不起作用,因为您的按钮没有属性
title
。当您第一次单击添加该属性时,这就是为什么您第二次单击按钮时它会工作。只是一个建议,如果您使用jquery,那么您可以使用
$(元素)。hide()
$(元素)。show()
函数,而不是引用类列表。我没有看到id为“fsEncabezado”的元素这就是为什么在运行代码段时控制台中会出现错误。@cb64确实不需要库来切换类。@HereticMonkey“如果您使用的是jquery[已经在1000行jquery中的其他地方],那么您可以使用…”,它被标记为jquery,包括jquery.min.js(尽管问题中没有任何jquery…:))您不应该使用
.innerHTML
来更改按钮的文本
.innerHTML
仅用于设置/获取包含HTML的内容,并且HTML需要进行解析
.innerHTML
具有性能和安全含义。当文本不包含HTML时,请使用
.textContent