[JS]DOMエレメントを操作するシンプルで超軽量のスクリプト -Chibi

jQueryなどの他のスクリプトに依存せず、DOMエレメントを操作するシンプルで超軽量(2KB gzipped)のスクリプトを紹介します。

サイトのキャプチャ

Chibi -GitHub

Chibiの対応ブラウザ

IE6をはじめ、ほとんど全てのデスクトップ・スマートフォン用のブラウザをサポートしています。

  • Android Browser 2.1+
  • Blackberry Browser 6+
  • Chrome
  • Chrome Android
  • Firefox 3.5+
  • Firefox Mobile
  • Internet Explorer 6+
  • Internet Explorer Mobile 9+
  • Opera 10+
  • Opera Mini
  • Opera Mobile 10+
  • Safari 3.2+
  • Safari Mobile 3.2+
  • Symbian^3 Browser or higher

Chibiの使い方

Chibiの基本書式はjQueryと似ており、「$(selector).method()」とシンプルなフォーマットです。
以下、メソッドごとにChibiの使い方を紹介します。

$().ready(handler)

DOMエレメントへのアクセスを準備します。

$().ready(function(){
    // Do awesome
});

または、

function foo() {
    // Do awesome
}

$().ready(foo);

$().loaded(handler)

ページがロードされた際にスクリプトを実行します。

function foo() {
    // Do awesome
}

$().loaded(foo);

$(selector).find(filter)

DOMエレメントを探します。

<p>Foo</p>
<p>Bar</p>
<p>Foo</p>
<p>Bar</p>
<script>
    $('p').find(); // 全てのp要素を返します
    $('p').find('first'); // 最初のp要素を返します
    $('p').find('last'); // 最後のp要素を返します
    $('p').find('odd'); // 奇数番目のp要素を返します
    $('p').find('even'); // 偶数番目のp要素を返します
    $('.foo').find(); // 存在しないので、returns false; です
</script>

$(selector).loop(function)

DOMエレメント上のfunctionを実行します。

<p>Foo</p>
<p>Bar</p>
<script>
    function foo(elm) {
        elm.style.color = "red";
    }

    $('p').loop(foo); // 全てのp要素をredにします
</script>

$(selector).hide()

DOMエレメントを非表示にします。

<p>Foo</p>
<p>Bar</p>
<script>
    $('p').hide(); // 全てのp要素を非表示にします
</script>

$(selector).show()

DOMエレメントを表示します。

<p>Foo</p>
<p>Bar</p>
<script>
    $('p').show(); // 全てのp要素を表示します
</script>

$(selector).toggle()

表示・非表示を切り替えます。

<p>Foo</p>
<p style="display:none">Bar</p>
<script>
    $('p').toggle(); // 一番目は非表示、二番目は表示します。
</script>

$(selector).remove()

DOMツリーから取り除きます。

<p>Foo</p>
<p>Bar</p>
<script>
    $('p').remove(); // 全てのp要素をDOMツリーから取り除きます
</script>

$(selector).css(property,value)

CSSのプロパティの値を取得、またはセットします。

<style>
.bold {font-weight:900}
</style>

<p>Foo</p>
<p class="bold">Bar</p>
<script>
    $('p').css('font-weight'); // font-weightの値を取得します
    $('p').css('color','red'); // colorをredにセットします
</script>

$(selector).cls(class,replace/add/remove/toggle/has)

classの値を操作します。

<style>
.bold {font-weight:900}
.red {color:red}
.mono {font-family:monospace}
</style>

<p>Foo</p>
<p class="mono">Bar</p>
<script>
    $('p').cls(); // p要素のclassを取得します
    $('p').cls('mono','has'); // 配列を使ってclassの値を調べます
    $('p').cls('mono','toggle'); // classの値を切り替えます
    $('p').cls('red bold'); // classを置き換えます
    $('p').cls('red bold','replace'); // 同じくclassを置き換えます
    $('p').cls('mono','add'); // classに値を加えます
    $('p').cls('bold','remove'); // classから値を取り除きます
</script>

$(selector).html(html,before/after)

DOMエレメントの前後にHTMLを加えます。

<p>Foo</p>
<p>Bar</p>
<script>
    $('p').html(); // p要素のinnerHTMLを返します
    $('p').html('<i>Foobar</i>'); // p要素にinnerHTMLを加えます
    $('p').html('<p>Foobar</p>','after'); // 
    $('p').html('<p>Foobar</p>','before'); // p要素の前にinnerHTMLを加えます
</script>

$(selector).attr(property,value)

プロパティの値を取得、セットします。

<p><a href="http://en.wikipedia.org/wiki/Foobar">Foobar</a></p>
<script>
    $('a').attr('href'); // hrefの値を返します
    $('a').attr('target','_blank'); // プロパティをセットします
</script>

$(selector).val(value)

フォームエレメントの値を取得、セットします。

<form>
<input type="text" value="Foobar" name="text">
</form>
<script>
    $('input').val(); // input要素の値を返します
    $('input').val('Foo Bar'); // input要素の値をセットします

$(selector).on(event,listener,clear)

イベントを加えたり、取り除きます。

<p>Foo</p>
<p>Bar</p>
<script>
    function foo() {
        // Do awesome
    }

    $('p').on('click',foo); // p要素にイベントを加えます
    $('p').on('click',foo,true); // p要素にイベントを取り除きます
</script>

top of page

©2017 coliss