私は変更できないHTMLマークアップを持っています。<hr>の直後にある<hr>を削除する方法?
例
<p>
TEXT 1
<hr>some text
<hr>
<hr>TEXT 2
<hr>some text
</p>
私はすぐにそれらの間のテキストをせずに別のhr
を次のいずれかのhr
を削除したいと思います。下のスニペットからわかるように、その余分なhr
は二重線を引き起こしています。
私はこれがCSSでは可能ではないと思います。私は隣接する(+)セレクタを使ってみましたが、明らかに動作しないことに気付きました。
私はjQuery :empty
を使用して調べましたが、hr
は自己閉鎖しているため、ターゲットを絞るのが難しいです。
私はどんな提案もありがとうございます。
スニペット
body {
width: 500px;
margin: 0 auto;
}
hr {
border-top: 3px solid #CCC;
border-bottom: none;
color: #CCC
}
hr + hr {
/* display: none; // doesn't work */
}
<p>
TEXT 1
<hr>some text
<hr>some more text
<hr>even more text
<hr>
<hr>TEXT 2
<hr>some text
<hr>some more text
<hr>even more text
</p>
私は、各テキストセグメントをラップするために 'span'タグを使用することをお勧めするつもりだったが、私はあなたの質問の最初の行を逃しました。しかし、 'p'の' hr'は有効なHTMLではないので、あなたは* "変更できません" *の部分について再考したいかもしれません。 IMOでは、間違ったマークアップがブラウザ間で違って解釈される可能性があるため、一貫した解決策を得ることはまずありません。 –
@JohnWeiszありがとうジョン、私はあなたの答えを削除する前に見ました。私はそれが無効であることを知らなかった。主要なブラウザで視覚的に動作するように見えます。アクセシビリティの問題ですか? – sol
これは、修正するまで軽微な問題を引き起こす可能性が高いルートセマンティックの問題です。ほとんどのブラウザではレンダリング時にオンザフライで修正されますが、アクセシビリティは影響を受ける可能性のある領域の1つです。もう1つはSEOです。 –