使用$时的特殊jQuery.closest(this)
此语句不起作用:使用$时的特殊jQuery.closest(this),jquery,Jquery,此语句不起作用: $(this).closest(".myclass").addClass("myextraclass"); 但这一声明确实: $("div").closest(".myclass").addClass("myextraclass"); 它正用于此上下文(与mark.js库一起使用): 解决方案:(由Baro和Chay22提供): 背景 instance.markRegExp(/mypattern/gi, {className:"myclass", each: functio
$(this).closest(".myclass").addClass("myextraclass");
但这一声明确实:
$("div").closest(".myclass").addClass("myextraclass");
它正用于此上下文(与mark.js库一起使用):
解决方案:(由Baro和Chay22提供):
背景
instance.markRegExp(/mypattern/gi, {className:"myclass", each: function(node) {
$(node).closest(".myclass").addClass("myextraclass");
}});
如果使用jquery,则应使用mark.ks的jquery语法
$(".context").markRegExp(regexp [, options]);
如果使用jquery,则应使用mark.ks的jquery语法
$(".context").markRegExp(regexp [, options]);
如果没有看到HTML,我不知道你到底想要什么,我认为你的逻辑有问题。这是因为您在高亮显示的所有元素中添加了
myclass
,并且使用最接近的
查找具有此类的父元素
这项工作因为是一个简单的JQuery命令,没有别的
该
在该上下文中是标记
对象,而不是高亮显示的元素或父元素
如果要突出显示所有元素,请尝试以下操作: HTML
<div class="findhere">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
</div>
JS
.findhere { color:red; }
.myclass { text-decoration:underline; }
.myextraclass { font-weight:bold; }
.green { color:green; }
var instance = new Mark("div.findhere");
instance.markRegExp(/ipsum/gi, {className:"myclass", each: function(node) {
$(node).addClass("green");
$(node).closest(".findhere").addClass("myextraclass");
}});
如果没有看到HTML,我不知道你到底想要什么,我认为你的逻辑有问题。这是因为您在高亮显示的所有元素中添加了
myclass
,并且使用最接近的
查找具有此类的父元素
这项工作因为是一个简单的JQuery命令,没有别的
该
在该上下文中是标记
对象,而不是高亮显示的元素或父元素
如果要突出显示所有元素,请尝试以下操作: HTML
<div class="findhere">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ut augue neque. Cras euismod varius metus ut bibendum.
</div>
JS
.findhere { color:red; }
.myclass { text-decoration:underline; }
.myextraclass { font-weight:bold; }
.green { color:green; }
var instance = new Mark("div.findhere");
instance.markRegExp(/ipsum/gi, {className:"myclass", each: function(node) {
$(node).addClass("green");
$(node).closest(".findhere").addClass("myextraclass");
}});
还尝试了$(this.element)。关闭
每个
而不是完成
以获得标记的元素。这些选项也没有此
引用范围。举个例子,No、.call
、.apply
或bind
是,当使用选项“done”时,函数返回一个计数,但使用“each”时,函数返回我正在查找的节点。重要的是,$(this)仍然不起作用,必须使用$(node)来访问DOM元素是的,正如我前面所说的,没有。调用,。应用,。绑定=没有这个这个也尝试了$(this.element)。关闭每个而不是完成,以获得标记的元素。这些选项也没有此
引用范围。举个例子,No、.call
、.apply
或bind
是,当使用选项“done”时,函数返回一个计数,但使用“each”时,函数返回我正在查找的节点。重要的是,$(this)仍然不起作用,必须使用$(node)访问DOM元素是的,正如我前面所说的,no。call
,。apply
,。bind
=nothis