0

文字列を作成し、それを getElementsByClassName 内の変数として使用して、div の ID を取得できるかどうか疑問に思っています。

<div id="000" class="item 1 currColor">
<div id="001" class="item 2 currColor">

var class_name = "1" + "currColor";
var get_color = document.getElementsByClassName(class_Name)[0].id;
4

3 に答える 3

1

はい、できます: http://jsfiddle.net/6XZRf/

ただし、javascript は大文字と小文字が区別されるためclass_nameclass_Name.

また、"1" + "currColor"です"1currColor"。class の要素がありません"1currColor"。変更する必要があります

<div id="000" class="item 1 currColor">
<div id="001" class="item 2 currColor">

の中へ

<div id="000" class="item 1currColor">
<div id="001" class="item 2currColor">

またはその逆、変更

var class_name = "1currColor";

の中へ

var class_name = "1 currColor";
于 2012-08-14T16:57:01.733 に答える
0

コードが機能しない理由は、class を持つ要素を検索しているためです1currColorが、実際には両方のクラスを持つ要素を探すつもりです。

document.getElementsByClassName("1"+ " " + "currColor")2 つのクラスの間のスペースに注意してください。つまり、両方のクラスを含むオブジェクトを見つけることを意味します

于 2012-08-14T16:57:09.800 に答える
0

もちろん、しかし、クラス名の間のスペースがありません。

var class_name = "1" + "currColor";する必要がありますvar class_name = "1" + " currColor";

しかし、これはクラスの使用法においてより理にかなっています。

//note the class name
var class_name = "item" + " currColor";
var get_color = document.getElementsByClassName(class_Name)[0].id;

ここに簡単なデモがあります

于 2012-08-14T17:05:18.240 に答える