如何在下面的列表中循环并在输入中设置作为类的值?但它无法迭代.liBrand列表项。
<ul>
<li class="liModelFilter liMultipleSelectionFilter">
<ul>
<li class="liBrand"><b>Mini</b></li>
<li>
<input type="checkbox" value="1090" id="ModelIds">
<span>Cooper</span>
</li>
<li>
<input type="checkbox" value="1092" id="ModelIds">
<span>One</span>
</li>
</ul>
</li>
</ul>
必填结果:
<li>
<input class="Cooper" type="checkbox" value="1090" id="ModelIds">
<span>Cooper</span>
</li>
我需要这个,因为我必须创建一个自定义复选框 - 每个复选框都必须有类型的徽标(Cooper,One,...)。
我已经尝试过这样的事情:
jQuery($('.liModelFilter ul li:not(.liBrand)')).each(function() {
console.log($('.liModelFilter ul li:not(.liBrand)')).html();
});
答案 0 :(得分:1)
最简单的方法是在addClass()
元素上调用input
,并提供一个返回兄弟span
的文本内容的函数,如下所示:< / p>
$('.liModelFilter :checkbox').addClass(function() {
return $(this).next('span').text();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="liModelFilter liMultipleSelectionFilter">
<ul>
<li class="liBrand"><b>Mini</b></li>
<li>
<input type="checkbox" value="1090" class="ModelIds">
<span>Cooper</span>
</li>
<li>
<input type="checkbox" value="1092" class="ModelIds">
<span>One</span>
</li>
</ul>
</li>
</ul>
另请注意,我已将id="ModelIds"
更改为某个类,因为您在DOM中不能有重复的id
属性。