1

jQuery を使用して、次のように要素に css を追加することで、単一の HTML 要素を強調表示できます。

$("div:contains('simple')").css("border", "4px solid blue");

のように、複数の要素を同時に強調表示できるかどうか疑問に思っています

<h2>A title here</h2>
<div>Some content here</div>
<h2>A another title here</h2>
<div>Some more content here</div>

h2最初のものと最初のものを一緒に強調表示するにはどうすればよいdivですか?

要素を保持する親を作成できることはわかっていますdivが、新しく作成されdivたものは元のレイアウトに影響を与える可能性があります。

<p>I want to highlight <span>this</span> <strong>and this</strong></p>

コンテキストに応じてdisplay親のプロパティを設定する必要がありますよね? div目標を達成するためのより良い方法はありますか?

よろしくお願いします。

編集

2 つの要素に対して 1 つのハイライト ボックス (または背景などの他のハイライト効果) を取得できますか?

4

2 に答える 2

3

異なるセレクターはコンマで区切ることができます。

$("div:contains('simple'), h2:contains('simple')").css("border", "4px solid blue");

これに関するドキュメントは次のとおりです:http: //api.jquery.com/multiple-selector/

2つの要素に対して単一のハイライトボックス(または背景などの他のハイライト効果)を取得できますか?

それはあなたのHTMLに大きく依存します。h2 / divの例をとると、H2とdivの両方の幅が同じになると、共通の境界線があるように見せることができます。CSS:

div.highlighted, h2.highlighted {
   border:4px solid blue;
}
div.highlighted {
    border-top:none;/*remove top border for a div*/
}
div.highlighted {
    border-bottom:none;/*remove bottom border for a h2*/
}

そしてJSより:

$("div:contains('simple'), h2:contains('simple')").addClass("highlighted");

他の状況では、何か他のことをする必要があるかもしれません。

于 2012-11-27T11:57:18.460 に答える
2

これを実現する方法はいくつかあります。1つの方法は、最初のh2とdivにクラスを追加し、それをセレクターとして使用することです。

$(".class-name-that-you-have-added").css("border", "4px solid blue");

良い読み物はこれでしょう:jQueryセレクター

于 2012-11-27T11:57:29.867 に答える