TopJavaScriptjQuery > 2013年7月
2013年7月17日

jQueryでクリックした要素が何番目かを調べる方法

July 17,2013 2:22 AM
Tag:[]
Permalink

jQueryでクリックした要素が何番目の要素かを調べる方法を紹介します。

このエントリーはビギナーの方向けの内容です。

1.問題点

次のようなHTMLを想定します。

<ul>
 <li>aaa</li>
 <li>bbb</li>
 <li>ccc</li>
 <li>ddd</li>
 <li>eee</li>
</ul>

たとえば、「ccc」のli要素をクリックしたときにli要素の中の3番目の要素であることを知りたいのですが、調べる方法が分かりません。

2.クリックした要素が何番目かを取得する(その1)

クリックした要素が何番目かを取得するには、index()を利用します。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function(){
    jQuery('li').click(function(){
        var index = jQuery(this).index() + 1;
        alert('クリックした要素は' + index + '番目です');
    });
});
</script>
<ul>
 <li>aaa</li>
 <li>bbb</li>
 <li>ccc</li>
 <li>ddd</li>
 <li>eee</li>
</ul>

click()イベントのブロック内で「jQuery(this).index()」を実行することでli要素のインデックスを取得することができます。

index()で取得するインデックスは「0」から開始するので、ここでは「+1」しています。

あるいは、次のように「index(this)」と記述してもOKです。

…前略…
jQuery(function(){
    jQuery('li').click(function(){
        var index = jQuery('li').index(this) + 1;
        alert('クリックした要素は' + index + '番目です');
    });
});
…後略…

サンプルを作りましたのでお試しください。

クリックした要素が何番目かを取得するサンプル

3.注意事項

2項のサンプルでは、ul要素が他に存在しない条件で説明しました。

他にもul要素が存在する場合、「jQuery(this).index()」であれば、クリックしたul要素内に閉じたインデックスを取得できますが、「jQuery('li').index(this)」では、HTMLページ内に存在するすべてのli要素でのインデックスになるので注意してください。

こちらもサンプルを作りましたのでお試しください。

Comments [0] | Trackbacks [0]
2013年7月16日

jQueryで新しい要素を作成する方法

July 16,2013 12:33 AM
Tag:[]
Permalink

jQueryで新しい要素を作成する方法を紹介します。

ここでは新しい要素を作成方法と、新しく作った要素にコンテンツを加える方法、そしてウェブページに追加するまでの手順を解説します。

このエントリーはビギナーの方向けの内容です。

1.新しい要素を作る

jQueryで新しい要素を作る場合、たとえばp要素を作るには、次のように作りたいタグを直接記述します。

var paragraph = $('<p>');

次のように記述してもOKです。

var paragraph = $('<p></p>');

空要素で記述してもOKです。

var paragraph = $('<p />');

jQuery1.3以前では要素を必ず「/」で閉じていなければいけなかったため、一番最初の書き方はNGでしたが、1.4以降では閉じなくても大丈夫になりました。

2.新しく作った要素にコンテンツを追加する

新しく作った要素にコンテンツを追加するには、html()を用います。

paragraph.html('foo');

これで次のHTMLが出来上がっていると思ってください(ウェブページにはまだ追加されていません)。

<p>foo</p>

html()にはHTML要素を書くこともできます。

paragraph.html('<strong>foo</strong>');

この場合、次のHTMLが出来上がっていると思ってください(ウェブページにはまだ追加されていません)。

<p><strong>foo</strong></p>

3.新しく作った要素をHTMLページに追加する

新しく作った要素をHTMLページに追加するには色々な方法があります。ここではappend()、prepend()、html()を利用して、body要素の子要素として追加する方法を説明します。

bodyの子要素の末尾に追加するにはappend()を使います。

$('body').append(paragraph);

bodyの子要素の先頭に挿入するにはprepend()を使います。

$('body').prepend(paragraph);

body要素の内容が空であるか、元の内容を消して書き換えたい場合はhtml()を使います。

$('body').html(paragraph);

4.まとめて書く

1項~3項をまとめて書くこともできます。

$('body').append($('<p>').append('<strong>foo</strong>'));

赤色の部分が1項~2項をまとめたもので、それをラップする形で3項のappend()を追加します。

Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3