如何在单击按钮时使用javascript编写我的按钮?

如何在单击按钮时使用javascript编写我的按钮?,javascript,html,Javascript,Html,这是我的js: function showMore() { document.getElementById("watch-description").style.display = "block"; document.getElementsByClassName(".yt-card.yt-card-has-padding").style.padding = "15px"; } function showLess() { document.getElementById("

这是我的js:

function showMore() {
    document.getElementById("watch-description").style.display = "block";
    document.getElementsByClassName(".yt-card.yt-card-has-padding").style.padding = "15px";
}

function showLess() {
    document.getElementById("watch-description").style.display = "none";
    document.getElementsByClassName(".yt-card.yt-card-has-padding").style.padding = "15px 15px 10px 15px";
}
为什么我的js功能按钮不起作用

两个按钮之一:

<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-expander yt-uix-expander-head yt-uix-expander-body" type="button" onclick="showLess();">

getElementsByClassName
在每个类之前不应具有
类选择器。将fullstops更改为空格,并对返回的数组变量进行排序以编辑元素的填充

function showMore() {
   document.getElementById("watch-description").style.display = "block";
   var classes = document.getElementsByClassName("yt-card yt-card-has-padding");
   classes[0].style.padding = "15px";
   classes[1].style.padding = "15px";
  } 

function showLess() {
   document.getElementById("watch-description").style.display = "none";
   var classes = document.getElementsByClassName("yt-card yt-card-has-padding");
   classes[0].style.padding = "15px 15px 10px 15px";
   classes[1].style.padding = "15px 15px 10px 15px";
  } 
根据我的评论,返回一个
HTMLCollection
,而不是单个元素。您需要将其视为一个
数组
,以便在各个元素上设置样式:

function showMore() {
    document.getElementById("watch-description").style.display = "block";

    var els = document.getElementsByClassName("yt-card yt-card-has-padding");
    for (var i = 0; i < els.length; i++) {
        els[i].style.padding = "15px";
    }
}

function showLess() {
    document.getElementById("watch-description").style.display = "none";

    var els = document.getElementsByClassName("yt-card yt-card-has-padding");
    for (var i = 0; i < els.length; i++) {
        els[i].style.padding = "15px 15px 10px 15px";
    }
}
函数showMore(){
document.getElementById(“监视描述”).style.display=“块”;
var els=document.getElementsByClassName(“yt卡yt卡有填充”);
对于(变量i=0;i
这就是youtube HTML:D,所以很难找到什么不起作用?您是否成功调用了该函数。是否未设置显示“none”..?是否进入函数showLess???
document.getElementsByClassName()
不返回单个元素。它返回一个
HTMLCollection
,在设置样式之前,您需要对其进行索引。@Kabulan0lak将起作用。。如果onclick中有2个函数,则不需要它;是否使用了downvoter?至少给我一个你认为这个答案错误或误导的原因?这个功能很好。我知道,但这不会改变任何事情。按钮onclick仍然不起作用:(即使不更改填充,脚本也不起作用。您将函数放在哪里?新函数:GET net::ERR\u被客户端阻止