2

CSSで使用する場合

p:hover {background-color: grey;}

段落全体が変更されます。その段落の単語にカーソルを合わせると、その段落の1つの単語を変更したいと思います。どうすればいいですか?

4

2 に答える 2

4

すべての単語を手動でラップしたくない場合は、次のように jQuery を使用してそれを行うことができます。

var p = $('p');
var text = p.text().split(' ');
for( var i = 0, len = text.length; i < len; i=i+1 ) {
    text[i] = '<mark>' + text[i] + '</mark>';
}
p.html(text.join(' '));

次に、次のように CSS を作成します。

p mark:hover {background:yellow}

デモは次のとおりです。http://jsfiddle.net/zL2Yw/1/

残念ながら、純粋な CSS ソリューションはありません。

于 2013-02-25T11:01:15.200 に答える
1

単語をインライン要素でラップするだけです。

<p>
  Lorem ipsum sit dolor amet <mark>consectetur</mark> dolor ...
</p>

段落がホバーされたときに背景色を変更します

p:hover mark {
   background-color: grey;
}

( の代わりに最適な要素を自由に使用してください<mark>...</mark>)

于 2013-02-25T10:52:57.400 に答える