javascript - 通过JQuery根据子图片名称删除一个元素

标签 javascript jquery html

我计划删除整个 <div> 的所有实例从页面,如果它有一个特定名称的图像。我不确定 JQuery 是否可行。

这是我的 HTML:-

<div class="jk-content-module__image">
    <a href="#" class="colorbox-inline init-colorbox-inline-processed cboxElement" rel="gallery-1"></a>

    <a href="path-to-img" title="" class="colorbox init-colorbox-processed cboxElement" rel="gallery-node-2">
        <img typeof="foaf:Image" src="path-to-img" alt="" title="">
    </a>
    <div style="display: none;">
        <div id="colorbox-inline-1">
            <ul>
                <li class="first last"><a href="http://thesite.com/sites/default/files/default_images/blank_0.png" title="" class="colorbox init-colorbox-processed cboxElement" rel="gallery-node-2"><img typeof="foaf:Image" src="http://thesite.com/sites/default/files/default_images/blank_0.png" alt="" title=""></a></li>
            </ul>
        </div>
    </div>
</div>

我希望的是,所有 <div>在我的页面上有一类 jk-content-module__image应该有 child <div style="display: none;"> ... </div>删除,如果有 <img>源代码为 blank_0.png在里面。

因此,如果图像的 src 为 blank_0.png目前,我想要整个 <div style="display: none;">将被删除。

我希望我是清楚的。

如果您能提供帮助,我将不胜感激。

最佳答案

您可以在 ".jk-content-module__image" 元素上使用 .filter() 参数 :has(img[src=blank_0.png] ), .find() with parameter "div[style*='display: none']" 注意 none 前的空格字符> 匹配当前 html, .remove()

$(function() {
  $(".jk-content-module__image").filter(":has(img[src*='blank_0.png'])")
  .find("div[style*='display: none']").remove()
})

jsfiddle https://jsfiddle.net/ks6b596n/1/

关于javascript - 通过JQuery根据子图片名称删除一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37559405/

相关文章:

javascript - 如何按顺序使用 jQuery 事件

javascript - Ajax jquery - 即时加载

javascript - jQuery 函数问题(父/子)

jquery - 如何在 JQuery Select2 插件中使用选定值创建占位符文本

Chrome 中的 jQuery 拖动

php - 尝试打印 MySQL 查询时出现 AJAX 问题

javascript - 使用 JavaScript 小部件时如何减少页面回流?

Javascript 在对象字面量上调用 eval(带函数)

jquery - 如何在不实际使用 jquery 提交表单的情况下触发 onsubmit 处理程序?

javascript - 如何制作带有子链接的可点击列表?