Javascript 是否可以在getelementbyid中使用多个可更改的divName?

Javascript 是否可以在getelementbyid中使用多个可更改的divName?,javascript,getelementbyid,Javascript,Getelementbyid,在这种功能中 function someFunction(divName) { document.getElementById(divName).style.someproperty = 'something' document.getElementById(divName).style.someotherproperty = 'somethingelse' } 这样叫 onClick = "someFunction('someid') 有没有办法在html中指定多个div

在这种功能中

function someFunction(divName) 
{
    document.getElementById(divName).style.someproperty = 'something'
    document.getElementById(divName).style.someotherproperty = 'somethingelse'
}
这样叫

onClick = "someFunction('someid')
有没有办法在html中指定多个divName

e、 g

第一个getelementbyid在“someid”上执行,第二个在“someotherid”上执行

最好没有jQuery

编辑:

我不想对两个元素中的每一个都做相同的事情,我想对每个单独的元素做不同的事情,但是我想能够在onClick=“…”中指定每个元素,而不是在实际的函数中,这样我就不必为两个目标元素的每个组合编写多个函数

对不起,如果不清楚的话

答案(事实证明,答案非常简单):

html

当我第一次尝试它时,我写了“someFunction('someid,someotherid')” 当它不起作用时,我认为解决方案没有divname1,divname2那么简单


很抱歉,让你们都忙着写花哨的代码。

我假设你们想为一个函数获取任意数量的参数。您可以使用每个调用函数中的特殊
参数
变量。它是一个类似数组的对象,包含传入函数的每个参数,按照您在调用中放置它们的顺序

:

function someFunction(){
for(var i=0;i

但是,如果您不介意将类附加到目标元素上,那么类在这种情况下可能更好。

为每个div指定一个类名,例如“yourClass”。现在您将拥有如下函数:

function someFunction(divClass) {
    var eles = document.getElementsByClassName(divClass); 
    eles.style.someproperty = 'something';
    eles.style.someproperty = 'something';
    for(var i = 0; i< eles.length; i++){
       // do some thing with each element
        eles[i].style.someproperty = 'something';
    }
}
函数someFunction(divClass){
var eles=document.getElementsByClassName(divClass);
eles.style.someproperty='something';
eles.style.someproperty='something';
对于(变量i=0;i
将参数设置为数组并循环

function someFunction(divIDs)
{
    for (var i = 0; i < divs.length; i++)
    {
        document.getElementById(divIDs[i]).style.someProperty = 'something';
    }
}
函数someFunction(divid)
{
对于(变量i=0;i
您要做的是为所有元素提供一个对所有元素都相同的类,以及一个对所有元素都唯一的ID

function someFunction(e) {
  var action = false;
  switch(e.target.id) {
  case 'someid': 
    action = 'something';
    break;
  case 'someotherid': 
    action = 'somethingelse';
    break;
  case default:
    break;
  }
  if(!action) return;
  document.getElementById(e.target.id).style.someProperty = action;
}
然后将onclick处理程序分配给类:

onClick = "someFunction('theClassName')


如果要对多个元素执行相同的操作,而不是使用id,则可以向这些元素添加第二个类,然后更改函数以查找该类。

这不是我们有类的原因吗?我无法让类正常工作,但是,这将无法对一个实例中的两个特定id和另一个实例中的两个不同的特定id应用相同的函数。为什么不发布一些HTML以及您希望每个元素具体执行的操作,并且有人可以提供更具体的帮助呢。但是使用类是一种方法。您创建了
someFunction
。当然,您可以让函数接受两个参数,例如
divName
divName2
,并在函数中使用这些参数。你到底被卡在哪里了?我试过了,但是divname2没有用。我如何指定它应该应用给定属性的元素?
function someFunction(divClass) {
    var eles = document.getElementsByClassName(divClass); 
    eles.style.someproperty = 'something';
    eles.style.someproperty = 'something';
    for(var i = 0; i< eles.length; i++){
       // do some thing with each element
        eles[i].style.someproperty = 'something';
    }
}
function someFunction(divIDs)
{
    for (var i = 0; i < divs.length; i++)
    {
        document.getElementById(divIDs[i]).style.someProperty = 'something';
    }
}
function someFunction(e) {
  var action = false;
  switch(e.target.id) {
  case 'someid': 
    action = 'something';
    break;
  case 'someotherid': 
    action = 'somethingelse';
    break;
  case default:
    break;
  }
  if(!action) return;
  document.getElementById(e.target.id).style.someProperty = action;
}
onClick = "someFunction('theClassName')