document.querySelector
вернет один элемент , и, как вы можете видеть, ваш ввод красный, потому что к нему применяется правило div.rules :nth-child(2)
, так как это второй дочерний элемент в его родительском элементе, поэтому вы выберете его ( так как он стоит первым в дереве DOM), а не div.
Вам следует использовать селектор >
, если вы хотите нацелиться только на div, или использовать div:nth-child()
или рассмотреть document.querySelectorAll
, чтобы получить все элементы, соответствующие селектору:
var one = document.querySelector('div.rules > :nth-child(1)');
var two = document.querySelector('div.rules > :nth-child(2)');
var three = document.querySelector('div.rules > :nth-child(3)');
one.classList.add('arule');
two.classList.add('brule');
three.classList.add('crule');
/*this will add border to all inputs and second div*/
var all = document.querySelectorAll('div.rules :nth-child(2)');
for(var i=0;i<all.length;i++) {
all[i].style.border="3px solid green";
}
.arule {
background-color: yellow;
}
.brule {
background-color: red;
}
.crule {
background-color: blue;
}
<div class="rules">
<div>
<label for="rule1">Rule1</label>
<input id="rule1">
</div>
<div>
<label for="rule2">Rule2</label>
<input id="rule2">
</div>
<div>
<label for="rule3">Rule3</label>
<input id="rule3">
</div>
</div>
Если у Вас есть решение для Visual Studio 2008 года, состоявшее из нескольких проектов C++, можно только генерировать одну диаграмму классов на проект.
Например, если у Вас есть одно соединение проекта приложения с 10 проектами библиотеки, необходимо будет генерировать 11 отдельных диаграмм классов.
Существует два способа работать вокруг этого, ни один из которых не приятен:
Более полное исследование возможностей разработчика класса Visual Studio дано в Разработчике Класса Visual C++.
Оказанный плохая поддержка классу C++ схематически изображает в Visual Studio, Вы - вероятно, более обеспеченное движение с коммерческим инструментом, если Вы хотите что-то большее чем простой список того, какие классы Вы имеете. WinTranslator из программного обеспечения Excel мог бы стоить посмотреть на, и кто-то, кого я работаю с Исходным Пониманием использования.
При использовании Visual Studio диаграммы классов для C++ не были правильно реализованы до Visual Studio 2008.
У меня есть VS2008 SP1, Профессиональные и диаграммы классов хорошо работают для C++ проекты Make-файла и WIN32.
Инструменты Most UML должны смочь сделать это. Я знаю, что Архитектор Sparx Systems Enterprise делает.
Разработчик класса не предназначен для C++, даже в VS 2008. Вы будете более обеспечены еще с некоторым специализированным инструментом. Это работает на простые проекты, которые в большой степени не используют шаблоны. Кроме того, получите бесполезные утилиты моделирования от codeplex.
Попытайтесь делать частичные специализации и смотрите, как это переполняет все в единственную форму.
Дешевый путь состоял бы в том, чтобы зарегистрировать Ваш источник с Doxygen и позволить этому инструменту создать диаграммы классов для Вас.