5

We have a page rendering some affiliate scripts at the bottom. One of the scripts renders an iframe which is breaking our page in some browsers. We would like to keep this iframe from showing, but the only attribute that it is offering me is the src attribute. I cannot broadly target iframes with my CSS as the other generated iframes are necessary for various partners.

Until they get a chance to diagnose their bad code, is there a way for us target this one iframe by its src or something with CSS or JavaScript/jQuery and keep it from showing on the page?

The bad iframe:

<iframe src="https://someurl.net/p.ashx?a=9879&b=3541" height="1" width="1" frameborder="0">

Inside of this iframe the document tree goes:

<html>
    <head><head>
    <body>
        <pre style="word-wrap:break-word; white-space:pre-wrap;">NF</pre>
    </body>
</html>
5
  • 2
    Sure, you can select all iframes and filter them by src. Or use the CSS attribute selector. Commented Nov 20, 2012 at 17:32
  • reference.sitepoint.com/css/attributeselector Commented Nov 20, 2012 at 17:32
  • 2
    iframe[src="someurl.net/p.ashx?a=9879&b=3541"] {display: none;} Commented Nov 20, 2012 at 17:33
  • 1
    Voted up this great CSS solution, but it fails in earlier IEs. Better use jQuery instead Commented Nov 20, 2012 at 19:12
  • @Dan: The OP stated no requirements of UA but jQuery does the trick. Commented Nov 21, 2012 at 17:27

2 Answers 2

8

This should do the trick:

$('iframe[@src*="someurl.net/p.ashx"]').hide();
Sign up to request clarification or add additional context in comments.

2 Comments

what does the @ symbol do inside the attribute selector?
whoops. mybad. thinking in xpath terms, where @ like that means to look for an attribute named 'src'. in jquery it's not necessary.
8

The css method would be:

iframe[src*="someurl.net"] {
    display: none;
}

*= means that the attribute must contain the value. In this case, src must contain someurl.net to match. (see doc)

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.