2015-07-22 102 views
2

美好的一天。是否可以在選擇器之前/之後應用到屬性選擇器?

我想跨我的網站應用全球CSS規則,以便所有文件鏈接都將在新窗口中打開。目前的情況是,該網站有一個bajillion鏈接和文件到處都是,所以我試圖用CSS規則來解決這個問題。

我想知道我是否能以某種方式使用屬性選擇:

a[href*="/files/"] 

然後使用:before或:after插入目標=「_空白」到鏈接代碼。

可能嗎?如果是這樣,任何人都可以看到CSS來做到這一點嗎?

謝謝。

+0

您是否要求使用:在/之後插入屬性?然後這是不可能的,因爲這些是僞元素*,而不是僞屬性或僞DOM節點等等。此外,僞屬性的概念在CSS中沒有意義,因爲屬性涉及結構和意思,而不是演示。如果你想改變一個元素的屬性,你可以使用DOM API來實現。 – BoltClock

回答

1

SOLUTION

你可以做到這一點使用jQuery來代替:

$(document).ready(function(){ 
    $('a[href*="/files/"]').attr('target', '_blank'); 
}); 

DEMO

this jsFiddle代碼和演示。

1

不幸的是,之前和之後的斑點:將其限制在文本和css驅動的計數器之後。我建議使用JavaScript解決方案。如果你的頁面是靜態的,那麼onload會做一些事情。對於更多動態頁面,jquery或類似的將有所幫助。你在使用什麼技術?

+0

這是在Drupal 7,我有非常有限的訪問,即使我被要求解決問題。我可能有能力使用JQuery,還不確定。 – Somenoob

+0

嘆息,這增加了一個額外的複雜程度。您不僅需要觸發更改,但每次Drupal加載新頁面時都必須執行此操作。我對Drupal並不知情,但似乎你需要使用行爲(https://www.lullabot.com/articles/understanding-javascript-behaviors-in-drupal)。 –

+0

...和https://www.drupal.org/node/756722。如果你重新提出你想要做的事情而不是問題的方式,那麼你會得到更好的幫助,並且爲它標記Drupal。說你是否有權訪問Drupal實例或者使用外部提供的安裝,因爲這會改變所需的方法。 –

相關問題