Решил изменить и привести все в упрощенный вид. Теперь просто сравниваю первый (марки) и второй (марки и модели, которые лежат глубже по дереву) список на наличие совпадений и выводе моделей только для выбранной марки, но никак не получается этого сделать, т.к. связи марок с моделями как таковой нет и пока у меня при выборе выводятся абсолютно все модели
window.addEventListener("DOMContentLoaded", function() {
var select1 = document.getElementsByClassName("sf-field-taxonomy-ad_cat")[0].getElementsByClassName("sf-input-select")[0],
select2 = document.getElementsByClassName("sf-field-taxonomy-ad_cat")[1].getElementsByClassName("sf-input-select")[0],
opt = [].slice.call(select1.options, 0),
opt2 = [].slice.call(select2.options, 0);
var value;
select1.onchange = function() {
opt.forEach(function(option, i) {
if (option.selected) {
value = option.value;
return false;
}
});
opt2.forEach(function(option, i) {
var parent = option.parentNode;
if (option.classList.contains("sf-level-1") || !i) {
select2.appendChild(option);
} else {
if (parent) {
parent.removeChild(option);
}
}
});
}
});
<li class="sf-field-taxonomy-ad_cat" data-sf-field-name="_sft_ad_cat" data-sf-field-type="taxonomy" data-sf-field-input-type="select" data-sf-combobox="1" data-sf-term-rewrite="["http:\/\/site.com\/ad-category\/[0]\/"]">
<label>
<select data-combobox="1" name="_sft_ad_cat[]" class="sf-input-select" title="">
<option class="sf-level-0 sf-item-0" data-sf-count="0" data-sf-depth="0" value="">марка а/м</option>
<option class="sf-level-0 sf-item-32" data-sf-count="1" data-sf-depth="0" value="alfa-romeo">Alfa Romeo</option>
<option class="sf-level-0 sf-item-19 sf-option-active" selected="selected" data-sf-count="12" data-sf-depth="0" value="audi">Audi</option>
</select>
</label>
</li>
<li class="sf-field-taxonomy-ad_cat" data-sf-field-name="_sft_ad_cat" data-sf-field-type="taxonomy" data-sf-field-input-type="select" data-sf-combobox="1" data-sf-term-rewrite="["http:\/\/site.com\/ad-category\/[0]\/"]">
<label>
<select data-combobox="1" name="_sft_ad_cat[]" class="sf-input-select" title="">
<option class="sf-level-0 sf-item-0 sf-option-active" selected="selected" data-sf-count="0" data-sf-depth="0" value="">марка а/м</option>
<option class="sf-level-0 sf-item-32" data-sf-count="1" data-sf-depth="0" value="alfa-romeo">Alfa Romeo</option>
<option class="sf-level-1 sf-item-59" data-sf-count="1" data-sf-depth="1" value="a6c5"> 156</option>
<option class="sf-level-0 sf-item-19" data-sf-count="10" data-sf-depth="0" value="audi">Audi</option>
<option class="sf-level-1 sf-item-60" data-sf-count="1" data-sf-depth="1" value="a6c5"> A6C5</option>
<option class="sf-level-1 sf-item-61" data-sf-count="1" data-sf-depth="1" value="a6c5"> A4</option>
<option class="sf-level-1 sf-item-62" data-sf-count="1" data-sf-depth="1" value="a6c5"> A6</option>
</select>
</label>
</li>