Javascript 我可以按id或按类选择多个html元素吗?

Javascript 我可以按id或按类选择多个html元素吗?,javascript,html,dom,Javascript,Html,Dom,我在html文档中有4个按钮,我想根据函数的值更改所有按钮的文本内容。我一次只能为一个人做这件事,但不是为所有人 我曾尝试使用getElementById以特定元素为目标,并用逗号分隔ID,但这无法解决问题 //This is the only example that will actually change the text content for only one of the 4 buttons randomCapital.then(value => {

我在html文档中有4个按钮,我想根据函数的值更改所有按钮的文本内容。我一次只能为一个人做这件事,但不是为所有人

我曾尝试使用getElementById以特定元素为目标,并用逗号分隔ID,但这无法解决问题

 //This is the only example that will actually change the text content for 
only one of the 4 buttons

randomCapital.then(value => {
                    const btnSelect4Reneder = document.querySelector('#btn1')
                    btnSelect4Reneder.textContent = value
                    console.log(value)
                })
 //This will not fix the problem, none of the buttons will change their text 
content
 randomCapital.then(value => {
                    const btnSelect4Reneder = 
                    document.getElementByClassName('btns')
                    btnSelect4Reneder.textContent = value
                    console.log(value)
                })

 //As expected, this way will not work either
 randomCapital.then(value => {
                    const btnSelect4Reneder = document.querySelector('#btn1, #btn2, #btn3, #btn4')
                    btnSelect4Reneder.textContent = value
                    console.log(value)
                })

您可以使用jQuery。依班选择是这种情况下的做法,伊姆霍

$('.btns').text(value)
设btns=document.getElementsByClassName'btn'; 让字符串='新内容'; 对于let i=0;icontent有几个domapi函数可以用来获取元素,我通常喜欢使用。必须向函数传递有效的CSS选择器,如下所述

选择器

包含一个或多个要匹配的选择器的DOMString。这 字符串必须是有效的CSS选择器字符串;如果不是,则是SyntaxError 异常被抛出。有关详细信息,请参见使用选择器定位DOM元素 有关使用选择器标识元素的详细信息。倍数 选择器可以通过使用逗号分隔来指定

例如:

const nodeList=document.queryselectoral'button'; 常量clickHandler=e=>{ log`您单击了${e.target.textContent}`; e、 target.textContent=e.target.textContent+'-单击!'; e、 removeEventListener'click',clickHandler; }; nodeList.forEachnode=>{ addEventListener'click',clickHandler; }; 按钮1 按钮2 按钮3 按钮4 let buttons=document.getElementsByTagName'button'; 设btnText=['btn 1','btn 2','btn 3','btn 4']; 对于let i=0;i.长度;i++{ 对于let i=0;irandomCapital.thenvalue=>{$'.btns.textvalue}这仍然不起作用。。。我还需要做什么吗?关于jQuery,我不知道很多事情,也不知道它是如何使用的。@J.Doe你甚至在使用jQuery吗?说实话。我只是试着先学习原始JavaScript。这似乎是可行的,所有的按钮都相应地改变了。问题在于该值是数组中的随机项,在这种情况下,所有按钮都将显示相同的值。@J.Doe每个元素中都有id属性。你不想控制他们买一个变量吗?我一次只能为一个人做,但不能为所有人做them@J.Doe我没有瞄准。我可以写一个函数,通过id返回按钮的对象,可以吗?比如:让objs=Select'btn1',btn2。。。;objs.btn1.innerHTML='Hello'。'value'将是从所有首都数组中提取的国家的随机首都。我想呈现4种不同的大写字母,供用户选择,然后进一步处理该信息。您评论值是随机的。您能提供更多关于您实际要做什么的信息吗?randomCapital将返回一个值,该值是数组中的随机字符串。我想将这个新的随机值作为每个按钮的文本内容。我的代表不允许任何投票:无论如何,非常感谢您的努力,我已经尝试了回调,但仍然不起作用。我明天再试一次。请再核对一下答案。有一个解决方案没有callback@KevinB这不是复制品。问题实际上不是选择多个元素,而是如何将不同的值应用于多个元素