jQuery包含一个guid列表

jQuery包含一个guid列表,jquery,contains,custom-data-attribute,Jquery,Contains,Custom Data Attribute,我在选项标记上有自定义数据属性,其中包含Guids的列表,如 <option data-show-for="64be38c4-1fcc-4f09-80ff-6d8075a2fcb1,b2457a92-e743-41f7-a448-a171bcfe92e1,2f02a194-4fff-417e-b776-f686f307c919"> 可以为此使用属性选择器 var guid="64be38c4-1fcc-4f09-80ff-6d8075a2fcb1,b2457a92-e743-41f

我在选项标记上有自定义数据属性,其中包含
Guid
s的列表,如

<option data-show-for="64be38c4-1fcc-4f09-80ff-6d8075a2fcb1,b2457a92-e743-41f7-a448-a171bcfe92e1,2f02a194-4fff-417e-b776-f686f307c919">

可以为此使用属性选择器

var guid="64be38c4-1fcc-4f09-80ff-6d8075a2fcb1,b2457a92-e743-41f7-a448-a171bcfe92e1,2f02a194-4fff-417e-b776-f686f307c919"
$("option[data-show-for='"+guid +"']").prop("selected",true);

根据要求编辑

var guid = "2f02a194-4fff-417e-b776-f686f307c919";
$("option").hide();
$("option").filter(function() {
    return $(this).data("show-for").indexOf(guid) > -1;
}).show();

隐藏没有指定guid的选项

$guid = '64be38c4-1fcc-4f09-80ff-6d8075a2fcb1';

$('option').not('option[data-show-for*="'+$guid+'"]').hide();

没有解决我的问题。请参阅我的最新问题。还使用
not
-jQuery选择器进行了尝试。请参阅我的编辑(在给定答案上找到了解决方案)。你的会更快吗?你的会更好。我忘记了属性中的*选择器查看我更新的问题。也许我走错了路,但这并不能解决我的问题。更新我的代码比您的方法快,因为我只搜索具有特定atribute的选项元素,而您搜索的是所有dom元素
$guid = '64be38c4-1fcc-4f09-80ff-6d8075a2fcb1';

$('option').not('option[data-show-for*="'+$guid+'"]').hide();