这就是我现在正在做的事情。
HTML:
<div class="animateripad" id="ipad">
<div class="animateripad" id="pong">
使用Javascript:
我正在使用“document.getElementById”但它只返回一个id。我想获得两个ID,然后在条件
时使用它们例如
if (id=="ipad")
{
do something.
}
我该怎么做?
答案 0 :(得分:1)
HTML中不应该有相同ID的元素。这是您应该使用类的地方。它无效HTML
答案 1 :(得分:1)
Id是一个独特的东西,所以有两个DOM元素与我相同是错误的。您应该使用“class”,它在语义上是正确的,您可以选择几个。
编辑: document.getElementById返回一个Dom元素。所以你应该这样做:
var ping = document.getElementById('ping');
var pong = document.getElementById('pong');
如果您使用getElementById。
如果要在课堂上选择元素,则不应使用document.getElementById。
答案 2 :(得分:1)
如果要获取具有特定类的所有元素,则不应使用getElementById
。使用getElementsByClassName
:
function getIdsForClass(classStr)
{
var i, all = document.getElementsByClassName(classStr),ids = [];
for(i=0;i<all.length;i++)
{
ids.push(all[i].id);//<-- push id as a string
//or
ids.push(all[i]);//<-- push reference to dom element
}
return ids;
}
var animateripadIds = getIdsForClass('animateripad');
//if you used ids.push(all[i].id);
animateripadIds[0];//<-- ipad
//if you pushed all[i]
animateripadIds[0].id;//<-- ipad
如果你想全部对待它们,取决于id:
for (var i=0;i<animateripadsIds.length;i++)
{
switch(animateripadsIds[i].id)
{
case 'ipad':
//do something with animateripadsIds[i]
break;
case 'pong':
//do something else with animateripadsIds[i]
break;
case undefined:
//do nothing?
break;
default:
//?
}
}
答案 3 :(得分:0)
ID应该唯一标识一个元素,因此你不应该在一个元素上有两个id。
答案 4 :(得分:0)
<强>的document.getElementById 强>
通过其ID返回对元素的引用。
<强>语法强>
element = document.getElementById(id);
,其中
element
是对Element对象的引用,如果具有指定ID的元素不在文档中,则为null。
id
是一个区分大小写的字符串,表示要搜索的元素的唯一ID