Jquery 使用contains替换Div中的文本(匹配)
jsFiddle: 我试图替换div中的文本,但似乎无法理解它为什么不起作用 HTML: 理想情况下,预期的输出应该是:Jquery 使用contains替换Div中的文本(匹配),jquery,Jquery,jsFiddle: 我试图替换div中的文本,但似乎无法理解它为什么不起作用 HTML: 理想情况下,预期的输出应该是:xyz foo bar但它仍然是abc foo bar,我做错了什么?当您执行$('div.text:contains(match)')时,您正在搜索包含文字字符串“match”的div 您可以这样做:$('div.text:contains('+match+')) 只需注意,变量match不包含对jquery选择器有意义的任何内容,例如)当您执行$('div.text:con
xyz foo bar
但它仍然是abc foo bar
,我做错了什么?当您执行$('div.text:contains(match)')
时,您正在搜索包含文字字符串“match”的div
您可以这样做:$('div.text:contains('+match+'))
只需注意,变量match不包含对jquery选择器有意义的任何内容,例如)
当您执行$('div.text:contains(match)')
时,您正在搜索包含文本字符串'match'的div
您可以这样做:$('div.text:contains('+match+'))
请注意,变量匹配不包含任何对jquery选择器有意义的内容,例如
)
您的代码有一些问题:
match
的值if
语句毫无意义,因为您在下一行有一个新的div.text
选择器。因此,如果其中一个元素匹配,您的代码将针对所有匹配的元素运行此操作html()
方法没有返回任何内容replaceText()
不是标准函数。除非这是您制作的自定义函数,或者您正在使用,否则请将其替换为replace()
现场演示:
如果要替换多个“abc”实例,请使用正则表达式:
var match = 'abc';
var re = new RegExp(match,"g");
$("div.text:contains(" + match + ")").each(function(){
var $this = $(this);
$this.html(function(){
return $this.html().replace(re, "xyz");
});
});
实时演示:您的代码存在一些问题:
match
的值if
语句毫无意义,因为您在下一行有一个新的div.text
选择器。因此,如果其中一个元素匹配,您的代码将针对所有匹配的元素运行此操作html()
方法没有返回任何内容replaceText()
不是标准函数。除非这是您制作的自定义函数,或者您正在使用,否则请将其替换为replace()
现场演示:
如果要替换多个“abc”实例,请使用正则表达式:
var match = 'abc';
var re = new RegExp(match,"g");
$("div.text:contains(" + match + ")").each(function(){
var $this = $(this);
$this.html(function(){
return $this.html().replace(re, "xyz");
});
});
现场演示:请参阅
两件事
”(“+match+”)”
”(“+match+”)”
这似乎是在一行中完成的(不包括您的var声明): 如果需要if语句,则不需要,并用
replace
代替replaceText
如果有多个匹配项,请使用以下选项:
var match = 'abc';
$('div.text:contains(' + match + ')').each(function () {
$(this).text($(this).text().replace(match, 'xyz'));
});
这似乎是在一行中完成的(不包括您的var声明): 如果需要if语句,则不需要,并用
replace
代替replaceText
如果有多个匹配项,请使用以下选项:
var match = 'abc';
$('div.text:contains(' + match + ')').each(function () {
$(this).text($(this).text().replace(match, 'xyz'));
});
'div.text:contains(“+match+”)
前提是包含replaceText
插件'div.text:contains(“+match+”)”
前提是包含replaceText
插件3。jquery.ba-replacetext.js3。jquery.ba-replacetext.js同一div中包含的abc
的多个实例如何?同一div中包含的abc
的多个实例如何?同一div中包含的abc
的多个实例如何?
$(document).ready(function(){
var match = 'abc';
if ($('div.text:contains('+match+')')) {
$('div.text').html(function(){
$(this).replaceText(match, 'xyz');
});
}
});
var match = 'abc';
$('div.text:contains(' + match + ')').text($('div.text:contains(' + match + ')').text().replace(match, 'xyz'));
var match = 'abc';
$('div.text:contains(' + match + ')').each(function () {
$(this).text($(this).text().replace(match, 'xyz'));
});