对于我来说,获取以字符串开头并包含特定字符的元素列表的正确选择器格式是什么?我知道我可以使用^
找到匹配字符串的开头但是我该怎么做并根据包含“ - ”字符的那些来过滤它?
例如,我有以下内容:
$('tr[id^="' + sectionName + '"]').hide();
将隐藏以sectionName值开头的任何元素。我想进一步采用这一级别,并在id属性值中使用“ - ”过滤掉这些元素。
答案 0 :(得分:5)
您可以使用问题中提到的attribute starts-with选择器以及“attribute-contains”选择器:
var elem = $("[id^='something'][id*='-']");
您可能希望通过使其更具体来使该选择器更有效,但您的问题没有足够的细节供我帮助。例如,提供标记名称:
var elem = $("div[id^='something'][id*='-']");
答案 1 :(得分:2)
$('div[id^="red"][id*="-"]')
应匹配
<div id='red1-1' />
<div id='red1-2' />
且不应匹配
<div id='blue1-1' />
<div id='red161' />