Reputation: 843
I am trying to hide some specific adds on my page based on their href
property(using CSS). I scrolled through some of the answers which tells about hiding an element based on its href
value. But, the element here is quite dynamic and keeps changing every time I load the page. Is there any way to hide an element/anchor based on its partial href
value ?
Below is the HTML code that I am trying to hide.
Code:
<div id="union-ad" class="union-banner">
<a href="http://someURL?Dynamic_Id's">
</div>
This is what i have been trying so far.
<style type="text/css">
a[href='someURL']{ display: none }
</style>
Upvotes: 3
Views: 4344
Reputation: 4222
You can use *
. This finds the string partial someURL
anywhere in the element's href
attribute.
a[href*="someURL"]{ display: none }
Demo:
a[href*="someURL"]{
display: none;
}
<div id="union-ad" class="union-banner">
<a href="http://someURL?Dynamic_Id's"> my Link </a>
<a href="http://some?Dynamic_Id's"> other Link </a>
</div>
Upvotes: 3
Reputation: 1522
You have two different choices of substring selectors, which you should select between based on the nature of the URL.
If your URL always starts with the same set of characters, including the protocol specification, then ^=
is the best choice - it will only match elements which href-attribute begins with the given set of characters. This will pretty much eliminate the chance of randomly hiding other links because they randomly contain your selector.
a[href^='http://someURL'] {
display: none;
}
However if you're entirely unsure about the consistency of the URL and only know a certain part in the middle, use *=
, which will match elements that contain at least one instance of the set of characters given.
a[href*='someURL'] {
display: none;
}
Upvotes: 1
Reputation: 307
Yes, there's a CSS selector for that.
a[href~=someURL] { display: none }
Upvotes: -1
Reputation: 8900
Use a substring selector:
a[href^="http://someURL"] {
display: none;
}
<a href="http://otherURL.com?hey">You CAN see me.</a>
<a href="http://someURL.com?hey">You can't see me!</a>
Upvotes: 3