2
4

5 に答える 5

6

次のようなことができます。

$("p").each(function() {
    $(this).html($(this).html().replace(/contracting/g, "<strong>contracting</strong>"));
});​

実際の例

于 2012-04-24T14:38:35.277 に答える
1

<span> <div>これを機能させるには、置き換えるコンテンツを ID のあるもので囲む必要があります。

HTML:

<div id="content">Contracting</div>​

JS:

content=document.getElementById("content");

​content.innerHTML=content.innerHTML.replace(/contracting/gi,"<strong>$&</strong>");​​​​​​​​​​​

JSfiddle: http://jsfiddle.net/jwTz8/

JSfiddle は機能しますが、フォントは変更されません。要素を調べて (Contracting を右クリックし、要素を調べる)、強いタグがあるかどうかを確認する必要がある場合があります。

于 2012-04-24T14:38:18.997 に答える
0

これはどう?

var yourElement = $("#your-element-selector");

yourElement.html(yourElement.html().replace("yourword", "<strong>yourword</strong>"));
于 2012-04-24T14:38:52.290 に答える
0
(function(){

$("p").each(function() {

var self = $(this);

self.html(self.html().replace(/contracting/gi, "<strong>$&</strong>"));

})

})()

;

于 2012-04-24T15:19:33.253 に答える
0

これを行う小さなプラグインを作成しましたが、現在、コンテンツをリセットせずに同じ要素で複数回効果的に使用できないというバグがあります。ここに jsfiddle があります: http://jsfiddle.net/NFDqe/1/

$("#content").highlightText("contracting","bold",true);

boldこの場合、あるテキストをラップしているスパンに追加されるクラスです。font-weight: bold

https://github.com/tentonaxe/jQuery-highlightText

私が持っているバグなしで同じことをする別のプラグインを見つけたとしても、私は驚かないでしょう.

アップデート

また、スパン タグの代わりに強力なタグを取得するようにdefaultTagNameプラグインを設定することもできます。strong

$.fn.highlightText.defaultTagName = "strong";
$("#content").highlightText("contracting",true);

http://jsfiddle.net/NFDqe/6/

.html() メソッドよりもこのメソッドを使用する利点は、タグ内またはフォーム入力の値内にある可能性があるクラス名または ID に触れないことです。#contentに置き換えることで、ページ全体に影響を与えることができますbody

アップデート

また、 の代わりに"contracting"、次のような正規表現を渡すことができます/contracting/ig

于 2012-04-24T15:04:00.840 に答える