質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

3722閲覧

jQueryで指定文字数を抜き出してタグで囲いたい

d-xanthus

総合スコア56

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

2クリップ

投稿2016/10/04 09:10

よろしくお願いいたします。
CMS(wordpress)等で書き出されるテキストの一部(文字数指定で)をspanタグなどで
囲みたいと思っています。
書き出されるテキスト全体には、テンプレートなどでタグを指定することができますが、
テキストの一部にspanタグを設定するため、jQueryで試してみるのですがうまくいきません。
お知恵をお借りしたいと思います。

###やりたいこと、

html

1【現状】 2<p class="headDescript">ダミー文、こちらにCMSからのテキストが表示されます。</p> 34【目的】 5<p class="headDescript"><span class="test">ダミー文、</span>こちらにCMSからのテキストが表示されます。</p>

###試したjQueryコード

javascript

1<script> 2 jQuery(function(){ 3 var str = jQuery(".headDescript").text(); 4 var txt = str.slice(0,5); 5 jQuery(txt).wrap("<span class="test"></span>"); 6 }); 7</script>

wrapメソッドだけでは選択肢にタグがないと囲むことができないともありました。
何か方法がありましたらご教授戴ければ幸いです。
何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。
ベタなコードですが、これで目的は達成できてますでしょうか?

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>teratail.com/questions/50268</title> 6 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 7 <script> 8 jQuery(function(){ 9 jQuery(".headDescript").each(function(){ 10 var head = $(this).text().slice(0,5); 11 var tail = $(this).text().slice(5); 12 13 jQuery(this).empty(); 14 jQuery(this).append(jQuery('<span class="test">').text(head)).append(tail); 15 16 }); 17 }); 18 </script> 19 <style> 20 .test { 21 color: blue; 22 } 23 </style> 24</head> 25<body> 26<p class="headDescript">ダミー文、こちらにCMSからのテキストが表示されます。</p> 27<p class="headDescript">ダミー文、こちらにCMSからのテキストが表示されます。</p> 28<p class="headDescript">ダミー文、こちらにCMSからのテキストが表示されます。</p> 29</body> 30</html>

参考になれば幸いです。

投稿2016/10/04 09:41

jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

d-xanthus

2016/10/04 09:55

ykt68様 ご回答戴き、ありがとうございました。 おかげさまでうまくいきました。 感謝致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問