К сожалению, это косвенно отвечает на ваш вопрос, но ... Вы, кажется, ищет, чтобы обнаружить, если элемент имеет класс, и так как вы уже используете JQuery, просто использовать hasClass
метод - http://api.jquery.com/hasClass/
Для вашего конкретного кода, попробуйте:
if (link.parents("div.fixed_column").hasClass("column_one")) {
// It has the "column_one" class
}
Более быстрый ответ на ваш вопрос заключается в том, что link.parents("div.fixed_column").attr("class")
возвращает одну строку. Когда селектор jQuery (div.fixed_column
) возвращает несколько элементов, что очень возможно при использовании классов, используя методы jQuery, которые получают информацию (например, .attr
, используя один параметр ... для «получения» значения) возвращают только значение первого совпадающего элемента.
Так говорят, что селектор соответствует 3 элемента:
["<div id='div30' class='fixed_column div30_class'></div>",
"<div id='div2' class='fixed_column div2_class'></div>",
"<div id='div17' class='fixed_column div17_class'></div>"]
Затем значение, возвращаемое из .attr("class")
будет: fixed_column div30_class
потому, что это первый элемент соответствует.
Я не уверен, но я думаю, вы ожидаете, что jQuery вернет массив всех значений согласованных элементов, чего он просто не делает. Таким образом, это не означает, что jQuery не обрабатывает проблемы с кросс-браузером, это просто означает, что вам нужно искать то, что метод делает/возвращает.
Я мог бы поклясться, что у jQuery 2.0 есть варианты для того, чтобы делать то, что вы хотите - прямо от вызова геттеров (или чего-то подобного), но я больше не могу его найти :(Может быть, я помню неправильно. вы можете легко использовать $.each
и/или $.map
, чтобы посмотреть на каждый согласованный элемент, но это зависит от того, что вы на самом деле пытались сделать с ним.
«Правильный» способ определить, имеет ли элемент класс, использовать '$ (" element "). hasClass (" className ");' - http://api.jquery.com/hasClass/ – Ian
@ Кажется, это правда, я не знал об этом. Я использовал этот пока я догадываюсь, что отвечает на мой вопрос, если вы хотите ответить, я был бы умен и принимаю – London
, каково значение для ссылки – blackhawk