通过JQuery删除基于子图像名称的元素

时间:2016-06-01 04:25:31

标签: 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,那么我的网页上<div style="display: none;"> ... </div>所有<img>的{​​{1}}应该删除子blank_0.png其中包含blank_0.png的src。

因此,如果图片的src为<div style="display: none;">,我希望删除整个./a.out hello.txt hello2.txt

我希望我很清楚。

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

5 个答案:

答案 0 :(得分:1)

使用jQuery:

$('img[src~=/blank_0.png]').closest('div[style*="display: none"]').remove();

简体中文:查找imgsrc/blank_0.png个元素在style结尾的元素。从那里,找到他们最近的祖先元素display: none属性包含display: none。删除那些祖先元素。

可能需要调整[].slice.call(document.getElementsByTagName('IMG')).filter(function(e,i,a){ return e.src.endsWith('/blank_0.png'); }).forEach(function(e,i,a){ var t = e.parentNode; while(t != null && (t.nodeName != 'DIV' || t.style.display != 'none')){ t = t.parentNode; } if(t != null && t.parentNode != null) { t.remove(); } }); 中的间距,因为这需要与原始内容完全相同。

在javascript中:

function add(product_id){

    // the code to add the product
    //updating the div, here I just change the text inside the div. 
    //You can do anything with jquery, like change style, border etc.
    $("#added_"+product_id).html('the product was added to list');

}

答案 1 :(得分:1)

您可以.filter() ".jk-content-module__image"元素使用参数:has(img[src=blank_0.png]).find()参数"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/

答案 2 :(得分:1)

你可以这样做:

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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 class="hiddenDiv" 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>
&#13;
<com.facebook.login.widget.LoginButton
            android:id="@+id/signup_signupFacebookButton"                           
            android:layout_width="fill_parent"                
            xmlns:facebook="http://schemas.android.com/apk/res-auto"
            facebook:com_facebook_login_text="Sign up with Facebook"                
        </com.facebook.login.widget.LoginButton>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

或许类似这样的JQuery?

    //get the src for your image
var imgSrc = $(".jk-content-module__image div img").attr('src').toLowerCase()
//see if it contains blank_0
if(imgSrc.indexOf('blank_0.png')>-1)
{
  //if true, remove the div
  $(".jk-content-module__image div")
}

答案 4 :(得分:1)

您可以使用:

&#13;
&#13;
$(".jk-content-module__image div:hidden").filter(function() {
  return $(this).find('img').attr('src').indexOf('blank_0.png') !== -1
}).remove()
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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">
  visible image
    <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=""> hidden img</a>
        </li>
      </ul>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

Fiddle