1

a別のコードが呼び出されたときに、要素からクラスを削除する必要があり.text('string')ます。この他のコードを編集することはできません:

function WPSetAsThumbnail(id, nonce){
    var $link = jQuery('a#wp-post-thumbnail-' + id);

    // this is where it's first called
    $link.text( setPostThumbnailL10n.saving );
    jQuery.post(ajaxurl, {
        action:"set-post-thumbnail", post_id: post_id, thumbnail_id: id, _ajax_nonce: nonce, cookie: encodeURIComponent(document.cookie)
    }, function(str){
        var win = window.dialogArguments || opener || parent || top;
        $link.text( setPostThumbnailL10n.setThumbnail );
        if ( str == '0' ) {
            alert( setPostThumbnailL10n.error );
        } else {
            jQuery('a.wp-post-thumbnail').show();
            $link.text( setPostThumbnailL10n.done );
            $link.fadeOut( 2000 );
            win.WPSetThumbnailID(id);
            win.WPSetThumbnailHTML(str);
        }
    }
    );
}

初歩的な質問にも関わらず、お付き合いいただきありがとうございました。

4

1 に答える 1

1

2 つのオプション:

  1. ミューテーション イベントを使用しますが、非推奨であることに注意してください。
  2. 変更の DOM シークをプルします。

2 番目のオプションの例:

var $element = $("#elementId");
var lastText = $element.text();
function checkForChanges()
{
    var currText = $element.text();
    if (currText !== lastText)
    {
        alert('xxx');
        lastText = currText;
    }
}

var id = setInterval(checkForChanges, 500);
于 2012-06-10T08:45:10.177 に答える