我将所有选中复选框中的id放入数组并将其转换为字符串。现在我想循环遍历HTML中的所有标签,看看for
属性的值是否与所有id的字符串中的内容匹配,如果匹配则更改标签的css。提前谢谢。
var $all_labels = $('.filter-choices label')
$all_labels.each(function(){
var self_item = $(this)
if( self_item.attr('for').is(checked_items_ids_string) === true){
self_item.css('color','white')
}
});
答案 0 :(得分:0)
首先,我将所有已选中复选框中的ID放入数组中 将它转换成字符串
现在我想循环遍历HTML中的所有标签,看看是否有值 for属性与所有id的字符串中的某些内容匹配。
尝试
var checkedItems = []; //assuming this is already populated
$( "label[for]" ).each( function(){
var idVal = $(this).attr( "for" );
if ( $("#" + idVal).length > 0 && checkedItems.indexOf( idVal ) != -1 )
{
//element with id exists
$(this).css('color','white')
}
})
答案 1 :(得分:0)
也许这种方法也会有所帮助:
$('button').click(function () {
$('input').each(function () {
if ($(this).is(':checked'))
$(this).prev('label').css("color", "red")
else
$(this).prev('label').css("color", "black")
})
})

<label for="i1">Input 1: </label>
<input type="checkbox" id="i1">
<br>
<label for="i1">Input 1: </label>
<input type="checkbox" id="i1">
<br>
<label for="i1">Input 1: </label>
<input type="checkbox" id="i1">
<br>
<label for="i1">Input 1: </label>
<input type="checkbox" id="i1">
<br>
<label for="i1">Input 1: </label>
<input type="checkbox" id="i1">
<br>
<button>Change labels</button>
<script src="https://unpkg.com/jquery"></script>
&#13;