2017-10-15 129 views
2

我正在Wordpress中使用一些標題。有些標題是插曲名稱,有些則是文章名稱。播客集名稱的標題是這樣的:使用jquery在span標記中用括號括起文本?

<h1>Hello i am a title (EP.11)</h1> 

播客節目標題包含在一個括號中的標題末尾的集數。我希望使用一些jQuery來括號及其包含文本換到span標籤,這樣

<h1> 
    Hello i am a title 
    <span class="titleEpisodeValue">(EP.11)</span> 
</h1> 

任何幫助,非常感謝!

這是播客網站的常見問題。我希望我的問題的具體內容吸引了類似的人。謝謝。

+0

你嘗試過這麼遠嗎?你自己或研究的任何嘗試? – NewToJS

回答

3

要達到此目的,可以使用正則表達式來捕獲圓括號內的值,然後用包含該文本的span替換它。事情是這樣的:

$('h1').html(function(i, h) { 
 
    return h.replace(/(\(.+\))/g, '<span class="titleEpisodeValue">$1</span>'); 
 
});
.titleEpisodeValue { color: #C00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1>Hello i am a title (EP.11)</h1>

+0

這完美謝謝! $ 1如何知道這是內容? – Patrick

+0

說我得等待更多的時間來獎勵答案。 – Patrick

+0

沒問題,很樂意幫忙。 $ 1是正則表達式中匹配組的佔位符:https://stackoverflow.com/questions/16702924/how-to-explain-1-2-in-javascript-when-using-regular-expression –

1

var H1=$("h1").html(); 
 
var code=H1.substring(H1.indexOf("("), H1.indexOf(")")+1); 
 
$("h1").html(H1.substring(0,H1.indexOf("("))).append($("<span/>",{html:code}));
h1 >span{color:pink;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1>Hello i am a title (EP.11)</h1>