.texts() 1.1 [jQuery plugin]

juner

License: All rights reserved

Fork
2
Fav
0
View
3639
  • Play

Fullscreen

Smart Phone

Fork tree

  • Readme
  • JavaScript 48 lines
  • HTML 48 lines
  • CSS 18 lines
jQuery 1.9対応しました!

要素から 1文字ずつ指定要素として取得する為のjQuery plugin
・使い方
$(selecter).texts(options);
options.className : 一時クラス名(オプション 初期値: "char")
options.tagName : 生成タグ名 (オプション 初期値: "span")
options.excludeTagNames : 除外セレクタ[主に除外するタグ名を指定する](初期値:select,option,textarea,ul,ol,dl)
options.reg : 正規表現オブジェクト(オプション 初期値: /([\uD800-\uDBFF][\uDC00-\uDFFF]|[^\B\t\s ])/g)

取得されるのは指定したタグ名の要素のjQueryオブジェクト

例:
//html
<p class="test">Hello World.</p>

//javascript
jQuery(".test").texts();

これにより取得される要素は
&lt;span&gt;H&lt;/span&gt;
&lt;span&gt;e&lt;/span&gt;
&lt;span&gt;l&lt;/span&gt;
&lt;span&gt;l&lt;/span&gt;
&lt;span&gt;o&lt;/span&gt;
&lt;span&gt;W&lt;/span&gt;
&lt;span&gt;o&lt;/span&gt;
&lt;span&gt;r&lt;/span&gt;
&lt;span&gt;l&lt;/span&gt;
&lt;span&gt;d&lt;/span&gt;
&lt;span&gt;.&lt;/span&gt;
となり、改行、スぺース、タブ文字等は取得されない。
又、これは複数の要素から取得した場合も同様であり、要素から抽出した一文字を要素で囲った物のみ返す。

使用サンプルはこちら
http://jsdo.it/juner/jQuery_texts_sample
2013/02/11 12:55
jQuery 1.9対応 replaceWith() していたものを 置換えした文字を要素化して insertAfter() と remove() に置換え

2013/02/11 02:15
texts() 1.1 開発中に子要素下に要素があった場合……つまり孫要素があった場合に取得されない問題があった為、
elem.children().addBack() → 子要素と自身
から
elem.find("*").add(elem) → 配下の全ての子と自身
に取得方法を変更
また、置換えしてはいけない要素のcontentsを指定出来るようにオプションに excludeTagNames を追加

2013/02/10 18:50
extendを使って設定する様に変更
jQuery.texts にて内部関数を公開
jQuery.texts.getOptions();
オプションの取得関数
jQuery.texts.setOptions(options);
初期オプションを設定
jQuery.texts.getTexts(elem);
elemにある文字列を取得

andSelfを使っていた箇所をaddBackに置換え

2013/01/28 00:35
option.class を名前が危険な為、 option.className に変更
  • .texts() 1.1 [jQuery plugin]
  • .texts() 1.1 [jQuery plugin]

play

Complete!

Description What kind of game?

Control Device

jsdo.it websocket controller

Mouse

keyboard

smartphone

Fullscreen

Default Panel

Size

  • Width: px
  • Height: px

code

QR Code

Discussion

Questions on this code?

Tags

Forked

sort by