Используйте это:
var newClass = "classToBeAdded";
var d = document.getElementById("mydiv");
var r = new RegExp(" " + newClass + " ");
if (r.test(" " + d.className + " "))
// do something here
Или, аналогично:
var d = document.getElementById("mydiv");
if ((" " + d.className + " ").indexOf(" " + newClass + " ") != -1)
// do something here
Пробелы добавляются до и после строки className
, чтобы мы соответствовали целевому классу noнезависимо от того, где оно появляется в строке.
Некоторые тесты
Предполагают следующую функцию:
function hasClass(str, name) {
return (" " + str + " ").indexOf(" " + name + " ") != -1;
}
Тесты:
hasClass("target", "target") // true
hasClass("test target test1", "target") // true
hasClass("test1 target", "target") // true
hasClass("target test1", "target") // true
hasClass("test1", "target") // false