これは私が今していることです。
HTML:
<div class="animateripad" id="ipad">
<div class="animateripad" id="pong">
Javascript:
「document.getElementById」を使用していますが、1 つの ID しか返されません。両方の ID を取得して、if 条件で使用したい
例えば
if (id=="ipad")
{
do something.
}
これどうやってするの?
これは私が今していることです。
HTML:
<div class="animateripad" id="ipad">
<div class="animateripad" id="pong">
Javascript:
「document.getElementById」を使用していますが、1 つの ID しか返されません。両方の ID を取得して、if 条件で使用したい
例えば
if (id=="ipad")
{
do something.
}
これどうやってするの?
HTML 内に同じ ID を持つ要素があってはなりません。これは、代わりにクラスを使用する必要がある場所です。有効な HTML ではありません
Id は一意のものであるため、同じ Id を持つ 2 つの DOM 要素を持つことは間違っています。代わりに「クラス」を使用する必要があります。これは意味的に正しく、複数選択できます。
編集: document.getElementById は 1 つの Dom 要素を返します。したがって、次のことを行う必要があります。
var ping = document.getElementById('ping');
var pong = document.getElementById('pong');
getElementById を使用する場合。
クラスの要素を選択する場合は、document.getElementById を使用しないでください。
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:
//?
}
}
ID は要素を一意に識別する必要があるため、1 つの要素に 2 つの ID を持つべきではありません。
document.getElementById
ID によって要素への参照を返します。
構文
element = document.getElementById(id);
どこ
element
Element オブジェクトへの参照、または指定された ID を持つ要素がドキュメントにない場合は null です。
id
検索対象の要素の一意の ID を表す、大文字と小文字を区別する文字列です
.