jQuery检查一个ul是否包含另一个元素

时间:2016-11-02 09:57:00

标签: jquery each

我有两个列表

我想要做的是从第一个列表中获取每个元素的文本,如果文本与第二个列表中的元素的值匹配,则在选择第二个列表中为其添加颜色。

这是两个列表:

列出1号

double d = 11111111111111111111;
string s = d.ToString();
Console.WriteLine(s);
//1.11111111111111E+19

清单2

11111111111111111111111 => "11111111111111111111111"

这就是我到目前为止所做的......

1.111111111111111111111 => "1.111111111111111111111"

1 个答案:

答案 0 :(得分:5)

使用属性选择器选择value属性与列表项文本相同的选项:

    $("#rssedituserdata>li").each(function(i,v) {
       $('option[value="'+$(v).text()+'"]').css('color', 'red');
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rssedituserdata">
<li>1444</li>
<li>1445</li>
</div>


<div class="form-item form-item-labeled" id="edit-field-building-no-value-wrapper">
<select name="field_building_no[value][]" multiple="multiple" class="form-select" id="edit-field-building-no-value">
    <option value="1444">a</option>
    <option value="1445">b</option>
    <option value="1446">c</option>
    <option value="1447">d</option>
    <option value="1448">e</option>
    <option value="1449">f</option>
    <option value="1450">g</option>
</select>
</div>

删除列表中没有的元素执行以下操作:向列表中的元素添加一个类,并删除所有没有该类的选项

$("#rssedituserdata>li").each(function(i,v) {
       $('option[value="'+$(v).text()+'"]').addClass('dont-remove').css('color', 'red');
    });
$('option:not(.dont-remove)').remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rssedituserdata">
<li>1444</li>
<li>1445</li>
</div>


<div class="form-item form-item-labeled" id="edit-field-building-no-value-wrapper">
<select name="field_building_no[value][]" multiple="multiple" class="form-select" id="edit-field-building-no-value">
    <option value="1444">a</option>
    <option value="1445">b</option>
    <option value="1446">c</option>
    <option value="1447">d</option>
    <option value="1448">e</option>
    <option value="1449">f</option>
    <option value="1450">g</option>
</select>
</div>