Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用$时的特殊jQuery.closest(this)_Jquery - Fatal编程技术网

使用$时的特殊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
=no
this