2017-06-27 18 views
1

コンテンツタイプに応じて、CSSエレメントにクラスを追加したり追加したりするにはどうすればよいですか。 私の例:このようなiframeが含まれている場合、p要素にクラスまたはスタイルを追加したいと考えています。コンテンツに応じた条件付きCSS

if p contain iframe add class 'myclass' to p 

私はSASSでそれを行うか、私はJSが必要行うことができます。

<p><iframe frameborder="0" height="400" marginheight="0" marginwidth="0" scrolling="no" src="https://www.hashdoc.com/documents/185392/embed" style="border:1px solid #EAE9EA; border-width:1px; margin-bottom:5px; max-width: 100%;" title="Les résultats aux examens" width="550"></iframe></p> 

だから、そのようなものだろうか?

EDIT:私の最後のjqueryのコード

$(".page-lycee p:has(iframe)").addClass('external-content'); 
+0

あなたは(それがIFRAMEの場合)を基本的にCSSによってあなたはすなわち 'P>のiframe {あなたのCSS}それを行う'した場合にできる唯一の最初の子を適用する場合pタグのすべてのiframeを適用し、 'p iframe {css}'を直接使用したい – Dhara

答えて

1

限り私はそれはCSSで現在はできません知っています。これはjQueryで修正できます。

例コード:

$('p:has(iframe)').addClass('myclass'); 
1

pは以下のようなiframeているかどうかをチェックするために.has()を使用することができます:あなたはjQueryのセレクタを使用することができます

$("p").has("iframe").addClass('myClass');
.myClass{ 
 
    background:red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p> 
 
    <iframe frameborder="0" height="400" marginheight="0" marginwidth="0" scrolling="no" src="https://www.hashdoc.com/documents/185392/embed" style="border:1px solid #EAE9EA; border-width:1px; margin-bottom:5px; max-width: 100%;" title="Les résultats aux examens" 
 
    width="550"> 
 
    </iframe> 
 
</p> 
 

 
<p> This will not have the class "myClass"</p>

関連する問題