を使用している場合、この文はない作業を行います。
$(this).closest(".myclass").addClass("myextraclass");
をしかし、この文はありません:
$("div").closest(".myclass").addClass("myextraclass");
でそれは(この文脈で使用されていますmark.jsライブラリ):
instance.markRegExp(/mypattern/gi, {className:"myclass", done: function() {
$(this).closest(".myclass").addClass("myextraclass");
}});
解決策:(礼儀BaroとChay22):
$(node).closest(".myclass").addClass("myextraclass");
コンテキスト、
instance.markRegExp(/mypattern/gi, {className:"myclass", each: function(node) {
$(node).closest(".myclass").addClass("myextraclass");
}});
あなたはjqueryのを使用している場合
も$(this.element)マークされた要素を取得する代わりに、 'done'のeach' .closest – haz
使用を'試してみました。これらのオプションには 'this'参照がバインドされていません。 https://github.com/julmot/mark.js/blob/master/src/mark.js#L772 No、 '.call'、' .apply'、 'bind' – Chay22
はい、使用時オプション 'done'はカウントを返しますが、 'each'は関数が私が探していたノードを返します。 DOM要素にアクセスするには$(これ)はまだ動作せず、$(ノード)を使用する必要があります – haz