我想知道是否可以创建一个字符串并将其用作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;
答案 0 :(得分: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";
答案 1 :(得分:0)
您的代码不起作用的原因是您正在搜索类1currColor
的元素,但您真的想要查找包含这两个类的元素。
您可以使用document.getElementsByClassName("1"+ " " + "currColor")
注意两个类之间的空格。这意味着找到包含两个类的对象
答案 2 :(得分: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;