前回の質問の続きになります。
jQuery:取得した要素を属性に入れ替えたい
皆様のアドバイスのおかげで、キャプションの二重入力の手間は省くことができました。
しかし、キャプション内に<br>が入ることとなり、ソースをいじってみましたがうまく反映できず困っています。
HTML
1<div class="sp-slide"> 2 <a href="./img/04.jpg" title="オーバーレイ時のキャプション"> 3 <img class="sp-image" src="./img/blank.gif" data-src="./img/04.jpg" data-retina="./img/04.jpg"></a> 4 <p class="sp-layer sp-black sp-padding"> 5 写真4の説明文が入ります<br> 6 写真4の仕様が入ります。 7 </p><!--メイン画像表示中のキャプション--> 8</div>
js
1$(function() { 2 $('p.sp-layer').each(function(index, element) { 3 const target = $(element); 4 target.parent().find('a').prop('title', target.text()); 5 }); 6});
上記の様に”innerHTML"とした場合、画像のようにオーバーレイ時のキャプションはキレイに改行されますが
メイン画像をマウスオーバーした際に表示される説明は<br>も含めてそのまま出力され改行されません。
js
1$(function() { 2 $('p.sp-layer').each(function(index, element) { 3 const target = $(element); 4 target.parent().find('a').prop('title', target.html()); 5 }); 6});
とした場合は、マウスオーバー時が改行され、オーバーレイ時は改行がされません。
説明下手で申し訳ありません。
どちらの動作であっても、改行されるようにしたいのですが
最悪マウスオーバー時に表示される説明を
非表示でも問題ないのでSliderProでその様な設定があれば併せてご教示ください。
質問が長くなりましたが、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー