Javascript 如何检查id是否包含多个单词?
我有一个部门:Javascript 如何检查id是否包含多个单词?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个部门: <div id="picture_contents_12356_title"></div> “12356”是一个自动生成的唯一id,我需要它。如何为具有“图片内容”和“标题”的id创建jQuery选择器 我知道你可以做[id*=“picture\u contents”],但我还需要检查它是否也包含“title”。我如何在那里创建和逻辑 我想也许可以将id提取到一个变量中,然后检查indexOf(“picture\u contents”)和indexO
<div id="picture_contents_12356_title"></div>
“12356”是一个自动生成的唯一id,我需要它。如何为具有“图片内容”和“标题”的id创建jQuery选择器
我知道你可以做[id*=“picture\u contents”]
,但我还需要检查它是否也包含“title”。我如何在那里创建和逻辑
我想也许可以将id提取到一个变量中,然后检查
indexOf(“picture\u contents”)
和indexOf(“title”)
,但我想知道是否有更好的方法。只要继续添加基于属性的选择器[attribute*=”。“]
就你而言
$('[id*="picture_contents"][id*="title"]')
建议:如果单词的模式不变,您可以使用^=
:以开头或$=
:以选择器结尾
因为
或者,您可以为所有适当的div指定一个类,并引用该类
$(“[id*=”picture\u contents”][id*=”title“]”)
@ShaunakD,谢谢你这么做了。只是出于好奇,*=运算符是否像“contains”一样工作?谢谢,我不知道你可以像那样连接id选择器来形成AND逻辑。@Alistair:是的,它工作是因为属性选择器就像id选择器一样,类选择器或伪类。您可以混合和匹配这些元素的任意组合,只要元素将匹配所有这些元素。只是要小心不要过于具体。在本例中,这没关系,因为没有其他解决方案不更改标记(或生成标记的任何内容)。更好的做法是将唯一属性所需的元素分组。上面的代码很难维护,因为IDs的结构可能随时发生变化。
<div id="picture_contents_12356_title"></div>
$('[id^="picture_contents"][id$="title"]')