如果类包含某个字符串,则 div 中所有 <img> 的 jQuery 选择器

Posted

技术标签:

【中文标题】如果类包含某个字符串,则 div 中所有 <img> 的 jQuery 选择器【英文标题】:jQuery selector for all <img> in a div if class includes a certain string 【发布时间】:2021-06-06 21:52:07 【问题描述】:

我希望能够使用一个 CSS 选择器同时选择这两个:

<div id= "someID">
  <img src="images/leave-alone.png" class= "leave-alone">
  <img src= "images/source.png" class= "foo bar">
  <img src= "images/other-source.png" class= "foo zip">
</div>

理想情况下,类似“class includes 'foo'”这样的内容可以同时捕获这两个图像。我知道我可以使用两次.children().last().remove(),但我想确保我的代码比这更动态。

编辑:意识到我是通过单击来完成此操作的,因此我希望能够以$(this) 作为我的 jQuery 起点来实现相同的目标。

编辑:我用$("#" + $(this).attr("id") + " img.foo").remove() 破解了它,但也许还有更优雅的东西。

【问题讨论】:

document.querySelectorAll("#someID img.foo") $("#someID img.foo) 或 $('img.foo") 【参考方案1】:

您可以尝试使用class foo 选择所有图像

$("img.foo") 

或者像这样在带有id someId的div下选择带有class foo的图像

$("#someID img.foo")

【讨论】:

如果我以 $(this) 开头怎么办?【参考方案2】:

你可以试试$('img[class~=foo]')

Advanced selectors 很棒。这是源链接。

【讨论】:

以上是关于如果类包含某个字符串,则 div 中所有 <img> 的 jQuery 选择器的主要内容,如果未能解决你的问题,请参考以下文章

如果 div 包含单词 "example" ,则 addClass 显示 none 到另一个 div

jQuery 如果 div 包含此文本,则替换该部分文本

删除所有以某个字符串开头的类

检查 div 是不是包含这些单词中的任何一个,如果是,则显示此 div

JS 选择所有 包含某个字符的id

jQuery选择一个具有某个类的div,它没有另一个类