2016-12-17 11 views
2

最後の<a>要素をターゲットにする必要がありますが、いくつかの条件付きでターゲットを設定する必要があります。 この場合、テキストはCMSを使用して作成されます。これにより、クラスを追加するオプションが制限されます。私はjsfiddleを作成して私の問題を示しました。最後の<a>は、そのフォントに素晴らしいフォントを持っていなければなりません。:afterもう1つは<a>です。 :last-child aのようなものは使用できません。ユーザー/テキストライターはデフォルトでリンクを書く必要がないからです。最初の後に別の段落の可能性もあります。何もデフォルトはありませんが、最後の<a>要素は、実際のテキストを含む段落から離れていて、アイコンを持っている必要があります。最後のA要素を条件付きでターゲットにする

これはちょっと説明するのは難しいですが、jsfiddle自体が説明されますので一見してください。 CSSソリューションがあればうれしいでしょう。そうでなければjQueryは2番目に来る。

ありがとうございます!

+0

:最後のタイプはヒントですが、本当に本当ですか? https://jsfiddle.net/6xLpz6nj/10/ユーザーが入力したコンテナには、ID、クラス、特定のラッパーがありますか、テンプレートのツリー内の同じ場所に常に座っていますか?私たちは効率的な答えのための十分な情報がありません:) –

+0

実際にはすべての段落を含むクラスのコンテナがあります。そこからクラスはありません – Wilco

+0

大丈夫です、それが保持しているリンク(hrefやtitle属性)は何ですか?あなたの本当の場合を除いて、それはただあなたが何かあなたのリンクのためにこの ''を与える、 –

答えて

0

私が知る限り、それだけではCSSを使用することはできません。

どのようにJavaScriptの程度:

var element = document.getElementsByTagName("a"); 
for(var i=0; i < element.length; i++) { 
    var el = element[i] 
    var x = el.parentNode.innerText.length; 
    var y = el.innerText.length 
    if (x === y) { 
     el.classList.add('icon'); 
    } 
} 

CSS:

.icon::after{ 
    content: "\f105"; 
    margin-left:5px; 
    font-family: FontAwesome; 
    background-color: transparent; 
} 

それは親要素内のテキストとインラインで包まれていないすべての<a>要素に.iconクラスを追加します。

+0

まさに私が必要としていたものです!ありがとうございました! – Wilco

+0

CSSファイルに '.block .icon :: after {...}'と書いてください。それはあなたのために働くだろうか? 'block'クラスまたはいくつかのクラスを持つコンテナが1つありますか? – unitario

0

最後のpタグをターゲティングできます。

p:last-of-type a::after{ 
    content: "\f105"; 
    margin-left:5px; 
    font-family: FontAwesome; 
    background-color: transparent; 
} 
+0

文書の任意の部分の最後のpに適用されますが、詳細が必要です...私の答えを参照してください私は答えとして配置しないことを選択:) –

+0

@wilco、効率的な回答が必要な場合は、テンプレートの構造を詳しく説明できます(私のコメントを参照してください)。 –

関連する問題