2
4

5 に答える 5

8

これを変える...

 $('.mylinkclass').click(function(){getLinkText();});

これに...

 $('.mylinkclass').click(getLinkText);

そのため、関数をハンドラーとして直接割り当てています。そうすれば、そのthis値はクリックされた要素への参照になります。


を呼び出す前に他の作業が必要なgetLinkText場合は、引数として渡すことで要素を渡すことができますthis...

 $('.mylinkclass').click(function(){
     // do other work
     getLinkText(this);
 });

function getLinkText(el){

    alert($(el).text());
    return false;
}

.callまたは、関数内でor.applyを使用しthisて同じ値を持つようにします...

 $('.mylinkclass').click(function(){
    // do other work
    getLinkText.apply(this, arguments);
 });

function getLinkText(){

    alert($(this).text());
    return false;
}
于 2012-05-25T14:36:17.397 に答える
1

無名this関数内から呼び出すと、参照が失われます

$('.mylinkclass').click(function(){
   alert($(this).text());
   return false;
});

また

$('.mylinkclass').click(getLinkText);

function getLinkText(){
//..

また

$('.mylinkclass').click(function () {
   getLinkText(this);
});

function getLinkText(that){
   alert($(that).text());
   return false;
}
于 2012-05-25T14:38:57.800 に答える
0

次のように書くこともできます。

$('.mylinkclass').click(function(e)
  {
    e.preventDefault(); // we don't want to cause the page to refresh or jump to top
    alert($(this).text());
  });
于 2012-05-25T14:38:06.553 に答える
0

あなたの問題は、 getLinkText() 関数をどのように設定/呼び出すかです。

次のことを試してください。

$('.mylinkclass').click(getLinkText);

getLinkText呼び出す匿名関数ではなく、クリックハンドラーとして自分自身を渡す必要がありますgetLinkText

于 2012-05-25T14:38:45.350 に答える
0

text()関数$(".mylinkclass").text($(".link").text()を使用して、リンク内のテキストを取得できます。

于 2012-05-25T14:45:35.417 に答える