本聲明不工作:
$(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");
}});
也試圖$(this.element).closest – haz
使用'each',而不是'done'得到顯着的元素。這些選項也沒有「this」引用限制。舉一個例子,https://github.com/julmot/mark.js/blob/master/src/mark.js#L772不,'.call','.apply',也不'是,使用時bind' – Chay22
「完成」的功能選項返回一個數,但「每個」該函數返回這正是我一直在尋找的節點。重要的是,$(本)仍然不起作用,$(節點)必須用於訪問DOM元素 – haz