我想知道是否可以创建一个字符串并将其用作 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;
我想知道是否可以创建一个字符串并将其用作 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;
是的,您可以:http: //jsfiddle.net/6XZRf/
但是 javascript 区分大小写,因此class_name
与class_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";
您的代码不起作用的原因是您正在搜索具有类的元素,1currColor
但您实际上是要查找具有两个类的元素。
您可以使用document.getElementsByClassName("1"+ " " + "currColor")
注意两个类之间的空间来做到这一点。这意味着找到我包含两个类的对象
当然,但是您缺少类名之间的空格,
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;
这是一个简单的演示