2016-05-09 5 views
1

私はJQueryを使い慣れていないので、HTML要素の上にツールチップを表示する関数をインターネット上で使用しようとしています。Jquery関数に変数を渡す方法

これは、関数である:

<script> 
$(document).ready(function() { 
    $('#my-tooltip').tooltipster({ 
     content: $('<span>This text is in bold case !</span>') 
    }); 
}); 
</script> 

<img src="img.jpg" id="my-tooltip"> 

はのは、私は、たとえば、ページ上の多くの要素には、この機能を適用したいとしましょう:

<img src="img1.jpg" id="my-tooltip1"> 
    <img src="img2.jpg" id="my-tooltip2"> 
    <img src="img3.jpg" id="my-tooltip3"> 

どのように私は機能を編集する必要がありますか?私はすることができません

<img src="img.jpg1" id="my-tooltip1" onmouseover="javascript:functionName('tooltip1')" onmouseout="javascript:functionName('tooltip1')"> 

これは今のところ動作しないので機能しません。あなたのスクリプトは次のようになります

<img src="img1.jpg" class="my-tooltip"> 
    <img src="img2.jpg" class="my-tooltip"> 
    <img src="img3.jpg" class="my-tooltip"> 

<script> 
$(document).ready(function() { 
    $('.my-tooltip').tooltipster({ 
     content: $('<span>This text is in bold case !</span>') 
    }); 
}); 
</script> 
+0

異なるメッセージ異なる要素に係ります。 – MDP

+1

id(#)識別子の代わりにクラス(。)識別子を使用 – zipzit

+2

文書化されたhttp://iamceege.github.io/tooltipster/#getting-started – Satpal

答えて

3

すでに提案したように、CSSクラスを使用してツールチップ対応の要素を選択します。

ツールチップのテキストは、カスタムのdata-属性でパラメータ化できます。

$(document).ready(function() { 
 
    $('.tooltip').each(function() { 
 
    $(this).tooltipster({ 
 
     content: $(this).attr("data-tooltip") 
 
    }); 
 
    }); 
 
});
.tooltip { 
 
    cursor: help; 
 
    height:100px; 
 
    width:100px; 
 
} 
 
.tooltipster-base { 
 
    display: inline-block; 
 
    border: 1px solid #222; 
 
    margin: 0; 
 
    padding: 2px 4px; 
 
    background: #ccc; 
 
    border-radius:2px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.3.0/js/jquery.tooltipster.js"></script> 
 
<img class="tooltip" data-tooltip="I am a unicorn!" src="https://s-media-cache-ak0.pinimg.com/originals/e3/ab/d2/e3abd2c3b64151e4c1dfe59e5a2227dc.jpg"> 
 
<img class="tooltip" data-tooltip="Look at me!" src="http://cartoon-animals.disneyimage.com/_/rsrc/1367525874171/cartoon-unicorn-clipart/Unicorn-Clipart_7.png"> 
 
<img class="tooltip" data-tooltip="I poop rainbows" src="http://grid.turtlespeak.net/upload/LMo6pu2bZ3pYC5QU/iH3dtwYF1tOwoBd8/un1.png">

+0

完璧!ありがとうございました – MDP

1

使用 "クラス" を、ありがとう同様の振る舞いをするべきである:

<script> 
 
$(document).ready(function() { 
 
    $('.my-tooltip').tooltipster({ 
 
     content: $('<span>This text is in bold case !</span>') 
 
    }); 
 
}); 
 
</script> 
 

 
<img src="img.jpg" class="my-tooltip">

お知らせ私は... $( '私の-ツールチップ')に

をセレクタを変更したあと、 'クラス' に、画像上のid属性を変更します。

+0

上記のTinmarの注記を参照してください。 – zipzit

+0

あなたはそれぞれのimgに対して同じメッセージを受け取ります。 OPによって尋ねられない – Rolf

+1

スパンをパラメータ化するだけでよい。 '$()。data( 'tooltip')' – Glubus

1

は、複数の要素を識別するためのクラスを使用

は、あなたの代わりに、 "ID" の

+0

あなたはあなたのjqueryの中で同じメッセージを使うでしょう。 OP – Rolf

+1

によって尋ねられないスパンをパラメータ化することができます。 ''これをjqueryで使用してください: '$()。data( 'tooltip')' – Glubus

+0

@Rolf彼のコメントは見られませんでしたが、OPだけでした。 – user2051770

-1

tooltipsterの「はじめに」ページに記載されているように、title属性にhtmlエンコーディングを使用することも、イメージごとにtooltipsterを1回呼び出して別のテキストを割り当てることもできます。

<script> 
$(document).ready(function() { 
    $('#my-tooltip1').tooltipster({ 
     content: $('<span>You can tip me</span>') 
    }); 
    $('#my-tooltip2').tooltipster({ 
     content: $('<span>I would like to go boldly</span>') 
    }); 
    $('#my-tooltip3').tooltipster({ 
     content: $('<span>Hello there</span>') 
    }); 
}); 
+0

これはひどい考えです。クラスを使用し、イメージタグ内でツールチップを定義します。 – Glubus

+0

いいえIDとクラスの目的: https://www.w3.org/TR/html401/struct/global.html#h-7.5.2 と https://www.w3.org/TR /2011/WD-html5-20110525/elements.html#the-id-attribute – Rolf

関連する問題