Chad ソリューションの一部を使用して、特定のテキストを含むスパンを取得できます。次に、HTMLElement 全体に CSS ルールを適用する代わりに、そのコンテンツを で取得し.html()
、特定の単語を specific でラップしてから、メソッドでコンテンツを再度<span>
更新できます。.html()
// Retrieve and explode URL
var urlParts = window.location.href.split("?");
if (urlParts.length == 2)
{
// Retrieve all span containing the word
$("span:contains('" + urlParts[1] + "')").each(function(index, spanElement) {
var jQSpan = $(spanElement);
jQSpan.html(jQSpan.html().replace(urlParts[1], '<span class="special">' + urlParts[1] + '</span>'));
});
}
.special
単語を強調表示する CSS クラスがあると仮定します。
.special {
background-color: yellow;
}
注: Javascript 関数内の単語は、PHP またはその他のサーバー側言語を介して挿入できます。
URL がhttp://path/to/your/file.php?Loremであると仮定した場合の完全な例を次に示します。
<html>
<head>
<script type="text/javascript" src="path/to/your/jQuery.js"></script>
</head>
<body>
<span>
Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression.
</span>
<script type="text/javascript">
// Start when DOM is ready
$(document).ready(function() {
var urlParts = window.location.href.split("?");
// Highlight word if we have a word in parameter
if (urlParts.length == 2)
{
// Retrieve all span containing the word
$("span:contains('" + urlParts[1] + "')").each(function(index, spanElement) {
var jQSpan = $(spanElement);
jQSpan.html(jQSpan.html().replace(urlParts[1], '<span class="special">' + urlParts[1] + '</span>'));
});
}
});
</script>
</body>
</html>
説明: DOM の準備ができると、Javascript コードは URL の「?」の後の部分を抽出しようとします。(私たちの場合、これは「Lorem」です)。次に、Javascript は、jQuery を介して、この単語を含むすべてのスパンを取得し、各スパンでループして、単語を特別なスパン (CSS クラス 'special' のスパン) でラップします。
URL の単語を変更してページをリロードすると、ハイライトが動的に変化します