1

私はこのjavascriptを動かしました

$(".mail-tile").click(function () {
    var idMessage = $(this).attr('data-message-id');
    $('.mail-tile').removeClass(classeEvidenzaRigaSelezionata);
    $(this).addClass(classeEvidenzaRigaSelezionata);
    previewMail(this);        
});

次に、同じページ、同じ js ファイルに、次の JavaScript があります。

function selectMail(idMail) {
    var mailTile = $('.mail-tile[data-message-id="' + idMail + '"]')[0];    
    $('.mail-tile').removeClass(classeEvidenzaRigaSelezionata);
    mailTile.addClass(classeEvidenzaRigaSelezionata);
    previewMail(mailTile);
}

この場合、addClass 関数は機能しません: 「プロパティまたはメソッドの addClass はサポートされていません」。

classeEvidenzaRigaSelezionataグローバル変数です。

2 つのスニペットの違いがわかりません。どちらの場合も、操作する HtmlDivElement を取得しました (オブジェクトは null ではありません)。何が起きてる?

4

1 に答える 1

1

ID セレクターの後の[0]を削除する必要があります。それは、後でjQuery element使用する を提供しません。addClass(classeEvidenzaRigaSelezionata)

代わりにこれを使用してください:var mailTile = $('.mail-tile[data-message-id="' + idMail + '"]');

于 2012-04-27T11:04:49.310 に答える