次のテキストを折り返すための動的な方法はありますか?タグの次のテキストを囲む
<p>Enterprise integration platform</p>
予想される出力:
<p>Enterprise <span>integration</span> platform</p>
は、私は彼らのワードエンタープライズと段落のすべての出現を検索します「エンタープライズ」
次のテキストを折り返すための動的な方法はありますか?タグの次のテキストを囲む
<p>Enterprise integration platform</p>
予想される出力:
<p>Enterprise <span>integration</span> platform</p>
は、私は彼らのワードエンタープライズと段落のすべての出現を検索します「エンタープライズ」
このコードの後に表示される任意のテキストをラップする必要があります。あなたの場合は、この正規表現は、Enterprise
の最初のオカレンスだけを交換することを言い換える
$("p:contains('Enterprise')").html(function() {
var texts = this.textContent.split(" ");
return texts.shift()+" <span>"+texts.shift()+"</span> "+texts.join(" ");
});
span { color:red }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<p>Some stuff:</p>
<p>Enterprise integration platform</p>
<p>Enterprise architecture</p>
<p>Enterprise service as a service</p>
var elements = document.querySelectorAll("p");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
element.innerHTML = element.innerText.replace(/Enterprise (\S+)/, "Enterprise <span>$1</span>");
}
/* just style to highlight span */
span {
background-color: red;
}
<p>Enterprise integration platform</p>
注後の単語が発生する可能性があります場合は、より多くの処理が必要になりますg
接尾辞:/Enterprise (\S+)/g
を追加する必要があるすべての文字列を置換する必要があります。
私はここに正規表現を使用しています、私はここで
Enterprise
それを説明することができます - 明らかにEnterprise
テキストを検索します。\S+
- 1つ以上の空白以外の文字を検索します。(\S+)
- この空白以外の文字グループをキャプチャして置き換えます($1
を使用)。Enterprise
の大文字と小文字を区別しない検索では、置換演算子を.replace(/(enterprise) (\S+)/i, "$1 <span>$2</span>")
に書き換える必要があります。
大文字と小文字を区別しない検索にはi
という接尾辞を使用していますが、いずれの場合も可能なので、enterprise
という語句を使用しています。
_next text_とはどういう意味ですか? – Satpal
'エンタープライズ'の後に表示されるテキストはすべてラップする必要があります – kravisingh
$( "p"){ var texts = this.textContent.split( ""); 返信テキスト[0] + "" +テキスト[1] + "" +テキスト[2]; }); - それらを見つけるのにhttps://api.jquery.com/contains-selector/を使用してください – mplungjan