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')