<br>から<span>の前までを削除して、名前だけにしたいです。
<li> <p class="name"> 名前<br>苗字 <span>出身</span> </p> </li>
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
<br>から<span>の前までを削除したら「名前<span>出身</span>」だと思うのですが、いいのでしょうか?
2017/06/22 09:31
はい。そちらでお願いします。お手数おかけします。
回答4件
0
ベストアンサー
###CSSだけで無理やり消す(隠す)方法
spanに白背景をつけて、苗字の上に被せる。
CSS
1p.name { 2 position:relative; 3} 4p.name span { 5 position:absolute; 6 left:0; 7 bottom:0; 8 padding-right:3em; 9 background-color:#fff; 10}
あら簡単(。´ސު`。)
##冗談はさておきjQueryでやる場合
JavaScript
1$(function() { 2 var parentVal = $('.name').html().split('<br>')[0]; // A.<br>より前の文字列を取得 3 var spanVal = $('.name span').text(); // B.<span>の中身を取得 4 $('.name').html(parentVal+'<br>'+spanVal); // <p>の中身をA+Bに差替え 5});
1行で書いてもOK
JavaScript
1$(function() { 2 $('.name').html($('.name').html().split('<br>')[0]+'<br>'+$('.name span').text()); 3});
投稿2017/06/22 09:58
編集2017/06/22 10:28総合スコア506
0
最初の(テキスト)ノードだけ抜き出すという考え方もあります
- 案1
javascript
1$(function(){ 2 $('.name').html(function(){return $(this).contents().first().text()}); 3});
- 案2
javascript
1$(function(){ 2 $('.name').each(function(){ 3 $(this).html($(this).get(0).firstChild); 4 }); 5}); 6
HTML
1<ul> 2<li> 3<p class="name"> 4名前1<br>苗字1 5<span>出身</span> 6</p> 7</li> 8<li> 9<p class="name"> 10名前2<br>苗字2 11<span>出身</span> 12</p> 13</li> 14<li> 15<p class="name"> 16名前3<br>苗字3 17<span>出身</span> 18</p> 19</li> 20</ul>
修正
完全に勘違い最初の<br>と2番目の文字列を削除するんですね
これでどうでしょう?
javascript
1 $('.name').each(function(){ 2 $(this).contents().eq(2).remove().end().filter('br').eq(0).remove(); 3 }); 4
投稿2017/06/22 12:03
編集2017/06/23 05:00総合スコア114814
0
javascript
1<script> 2$(function() { 3 $('.name').contents().filter(function() { 4 // 3: TextNode 5 return this.nodeType !== 3 && this.nodeName.toUpperCase() !== 'BR'; 6 }).remove(); 7})(); 8</script>
で行けると思います。
投稿2017/06/22 09:25
編集2017/06/22 13:16総合スコア5030
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。