2012-08-14 34 views
0

我想知道是否可以创建一个字符串并将其用作getElementsByClassName中的变量来获取div的ID?我可以使用getElementsByClassName中的变量

<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; 
+0

肯定。为什么不尝试一下?它不起作用吗? – 2012-08-14 16:52:45

+0

你试过这个吗?这对我来说似乎是可能的。 – 2012-08-14 16:52:53

+3

'var class_name =“1”+“currColor”;'小心 - 在“1”和“currColor”之间应该有一个空格。 – 2012-08-14 16:53:07

回答

1

是的,你可以:http://jsfiddle.net/6XZRf/

但JavaScript区分大小写,因此class_name是不一样的class_Name。并且,"1" + "currColor""1currColor"。您还没有与"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"; 
0

的原因你的代码没有工作是你正在寻找一个类1currColor的元素,但你真的是要寻找两个类的元素。

您可以使用document.getElementsByClassName("1"+ " " + "currColor")注意两个类之间的空间。这意味着找到我,同时包含类

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; 

这里是一个simple demo

相关问题