2017-08-10 34 views
2

如果background-color屬性具有提供給它的特定網址(即,默認圖像 - 從HTML無法控制的複製:style='background-image: url("assets/images/default_logo.png");'CSS選擇背景圖像設置爲特定網址的元素

我有要隱藏的元素

有沒有辦法用CSS查詢這個特定的情況?

具體的例子:

<div class="module-logo" 
    ng-show="!show_loading &amp;&amp; module_logo != ''" 
    style="background-image: url(&quot;assets/images/default_logo.png&quot;);" 
    aria-hidden="false"> 
</div> 
+1

你看着[CSS屬性選擇器(https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors)? – jeffaudio

+0

@jeffaudio是的,但這是前一段時間,精確匹配沒有開箱即用。但這確實有幫助。 – zmii

回答

0

我在這個崗位CSS selector by inline style attribute已經發現,我可以這樣

div[style*="default_logo.png"] 

創建選擇基本上選擇它是這樣的:

document.querySelector('div[style*="default_logo.png"]') 

NB請注意,這是在這篇文章中突出顯示,這是非常脆弱和敏感的改變所有的變化。額外的空間會打破它。

+5

你應該投票結束自己的問題作爲一個副本,而不是發佈一個自我回答鏈接到問題。 – BoltClock

1

是的,你可以選擇與此該分區:

div[style^="background-image: url"] 

這可能需要您使用CSS轉義字符,這會導致混亂,所以您也可以使用選擇的兩套以檢查串目標正是你在找什麼。的東西會在這裏工作實例:

div[style*="background-image: url("][style*="default_logo.png"] 
+0

這將如何匹配確切的網址?你編碼的匹配只有其值由「background-image:url」加前綴(前面),並且沒有任何具體的URL。 – zmii

+0

您可以簡單地添加確切的URL,並且它會更具體地匹配,但您將不得不使用轉義字符來避免在選擇器中使用& and ;的問題 – yoursweater